Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error al guardar un registro (https://www.clubdelphi.com/foros/showthread.php?t=84082)

jafera 06-09-2013 15:54:05

Error al guardar un registro
 
Buenas tardes a todos.

Creo la tabla siguiente en Firebird

Código SQL [-]
 
CREATE TABLE "CTR0001INS" 
(
  "AUTOI" INTEGER NOT NULL,
  "CURSA" INTEGER,
  "DORSAL" INTEGER NOT NULL,
  "NOM_LLARG" VARCHAR(75) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "NACIO" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "LLICENCIA" VARCHAR(14) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "DNI" VARCHAR(12) CHARACTER SET ISO8859_1 NOT NULL COLLATE ES_ES,
  "CODIUCI" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "CLUB" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "ABR_CLUB" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "PUBLICITAT" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "EDAT" INTEGER,
  "CATEGORIA" VARCHAR(5) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONSTRAINT "PK_CTR0001INS" PRIMARY KEY ("AUTOI", "DNI")
);

Lleno la tabla con datos que se guardan sin problema, luego desde Delphi quiero cambiar un valor con el siguiente código:

Código Delphi [-]
 
d:=InputBox('Entra el nou dorsal', 'Dorsal', F_ModulDades.InscripcioDORSAL.Text);
F_ModulDades.Inscripcio.Edit;
F_ModulDades.InscripcioDORSAL.Value:=StrToInt(d);
F_ModulDades.Inscripcio.Post;
F_ModulDades.Inscripcio.Close;
F_ModulDades.Inscripcio.Open;

y al hacer el post me lanza un error:

violation of PRIMARY or UNIQUE KEY constraint "PK_CTR0001INS" on table "CTR0001INS"

Pero si hago esta modificación desde IBConsole o IBExpert directamente en la tabla realiza el cambio perfectamente sin problemas, las claves únicas está colocadas en los campos AUTOI y DNI, campos que no toco al pasar el nuevo valor del dorsal.

Alguna ayudita

Gracias

Josep

ecfisa 06-09-2013 16:49:36

Hola Josep.

La verdad que no veo en ese código nada que pudiera provocar el error que te aparece, ¿ Con que componentes estas trabajando ?


Saludos. :)

jafera 09-09-2013 16:35:39

Gracias por la respuesta y por leerte el mensaje.

Este fin de semana he estado "bastanteliadoconlasbicis" y no he podido responder antes.

Los componente que uso son los IBX descargados de la web de embarcadero e instalados en D-7.

No entiendo de verdad el comportamiento ya que en ningún momento estoy cambiando ninguno de los parametros que estan el el PK.

Voy a probar a ver si quitando el PK funciona.

Saludos

Josep


La franja horaria es GMT +2. Ahora son las 23:35:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi