![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#20
|
||||
|
||||
|
¿Cómo asignar a NULL un campo? o algo así....
Me funciona el GENERATOR y el trigger asociado a él. Pero como el campo NUM Integer lleva la clave primaria, resulta que si se deja vacío da error al salir de la edición del DBGrid.
Ejecuto el generador (sin modificarlo) con: SELECT GEN_ID(GEN_NAME_TABLE, 0) FROM RDB$DATABASE; //Recojo el dato //Luego lo asigno al campo NUM del DBGrid. Para ello uso el DBDataSource con la línea: DataSourcex.DataSet.FieldByName('NUM').AsIngeger := Value_Generator; Lo compruebo en el evento BeforePost. Y es ahí cuando salta el error motivado por la asignación a NULL del campo. DataSourcex.DAtaSet.FieldByName('NUM').AsInteger := NULL, Lo hago así para no entregar al TIBQuery ese campo en el intento de que así salte el Trigger y rellene el campo con el número siguiente al que guarda el generador. Entiendo que dicho campo se ha de dejar vació para ello. Osea que estoy en un lío. Con anterioridad había usado una tabla de control secundaria para llevar a cabo los autoincrementos y me iba bien. Pero he querido usar los triggers y ya ves. Reitero: Osea primero pongo un nº en el DBGrid y luego lo quito para llevarlo al servidor y que salte el Trigger. ¿Es lo correcto? Saludos, bulc |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| esta function no me funciona en XE2 y si funciona en D6 | darkbits | Varios | 1 | 06-11-2012 17:00:45 |
| IP de la PC en Trigger | noelia89 | Firebird e Interbase | 5 | 04-09-2012 17:03:41 |
| Trigger en Firebird no funciona | payo7 | SQL | 2 | 06-11-2011 00:19:24 |
| funciona bien en windows 7 64b pero en XP no funciona | ASAPLTDA | Varios | 5 | 06-05-2011 16:24:50 |
| Un trigger que dispara un procedimiento que dispara un trigger... | sitrico | Firebird e Interbase | 5 | 04-06-2007 22:05:13 |
|