Ver Mensaje Individual
  #1  
Antiguo 06-09-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Reputación: 20
jafera Va por buen camino
Arrow 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

Última edición por jafera fecha: 06-09-2013 a las 16:06:12.
Responder Con Cita