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)
-   -   TIBDataSet y violation of primary key (https://www.clubdelphi.com/foros/showthread.php?t=26033)

ZRR 11-10-2005 16:49:25

TIBDataSet y violation of primary key
 
Tengo otro problema con el componente (TIBDataSet) al intentar actualizar o insertar un registro me marca:

violation of primary or unique key constraint 'INTEG_106' on table 'tablausr'

Tengo mi tabla asi:
Código:

CLAVEUSR                  VARCHAR( 10 ) NOT NULL,
 MATRICULA                VARCHAR( 15 ),
 TIPOUSR                        INTEGER,
 PRIMARY KEY(CLAVEUSR)

La diferencia entre esta tabla y mis otras tablas donde si funciona el TiBDataSet es que las otras tablas tienen en la llave primaria un campo autoincrement que usa un generador y un trigger para el autoincremento y esta ultima tabla no tiene esa característica, la llave primaria la asigna el usuario.

El Select esta así:
Código SQL [-]
 Select ClaveUsr,Matricula,TipoUsr from tablausr;
El update así:
Código SQL [-]
 Update tablausr Set Matricula=:Matricula where ClaveUsr=:ClaveUsr;
El Insert así:
Código SQL [-]
 Insert into tablausr (ClaveUsr,Matricula,TipoUsr) values (:ClaveUsr,:Matricula,:TipoUsr);
Antes de insertar reviso que valor tiene el campo ClaveUsr y tiene el valor correcto, para probar ya midifique el update con valores fijos y sucede el mismo error:

Código SQL [-]
 Update tablausr Set Matricula='x' where ClaveUsr='1';
Alguien sabe a que se debe?

Saludos

Gydba 11-10-2005 19:03:37

Hola,

Eso es raro. Si vos hacés un INSERT estático donde estás seguro que el PK no se repite e igualmente te dispara ese error... la verdad no sé.

¿Trataste de hacer un UPDATE o INSERT desde alguna utilidad aparte como el IBExpert? ¿No existe ninguna constraint más sobre esa tabla? ¿El error lo tira tanto con INSERT como con UPDATE?

Saludos!!!

ZRR 31-10-2005 23:18:10

Ya lo solucione.

Muchas gracias

Saludos

Casimiro Notevi 01-11-2005 00:02:09

... con un truco de ... magia? :confused:


La franja horaria es GMT +2. Ahora son las 16:58:21.

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