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)
-   -   Auntoincrementar ¡¡¡¡ Como? (https://www.clubdelphi.com/foros/showthread.php?t=5260)

azraelrvg 14-11-2003 17:44:53

Auntoincrementar ¡¡¡¡ Como?
 
Saludos a todos de parte de su amigo David alias Azraelrvg

uso IbExpert 2.5 creao mi tabla selecciono el chekbox de autoinc
en la pantalla que aparece selecciono usar un generador nuevo
le pongo el nombre de GEN_INC le pongo el valor de incremento en 1, luego en la pestaña de Trigger

Tecleo lo siguiente

CREATE TRIGGER REPORTE_BI FOR REPORTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.NUM_CONSECUTIVO = GEN_ID(GEN_INC,1);
END

le doy OK y luego commit se generan el Trigger y el Generador

despues cierro la conexion y ya. hasta ahi todo bien

pero cuando corro mi programa y le doy el

DMbitacora.IBDReporte.Post;

Me marca que el campo NUM_CONSECUTIVO debe tener un valor. es correcto pues al definir este campo le puse not null.

Pero aqui es donde no entiendo que es lo que falta. Segun entiendo el escript se debe disparar antes de un insert es decir antes del post?. a la tabla y este dispara el generador y aqui es donde en teoria el campo NUM_CONSECUTIVO deberia tomar el valor que requiere(Autoincrementable).

Que sucede necesito ejecutar el Trigger desde mi aplicacion o que estoy haciendo mal.

Por su, deberas muy valiosa ayuda mil Gracias. : D

Firibiri 14-11-2003 18:17:51

Hola.
Has mirado si en los campos persistentes del IBdataset
tienes puesto el required a false?
Si lo tienes a True el delphi siempre mira que el campo esté lleno antes de que llegue a firebird.

azraelrvg 14-11-2003 18:56:28

Solucionado......

Mil Gracias Firibiri. era eso


La franja horaria es GMT +2. Ahora son las 07:32:16.

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