PDA

Ver la Versión Completa : Error al guardar un registro


jafera
06-09-2013, 15:54:05
Buenas tardes a todos.

Creo la tabla siguiente en Firebird


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:


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