![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#21
|
||||
|
||||
|
Quitar el valor al campo primary key
Primero relleno el campo en el DBGrid para que no salte el error debido a ausencia de dato en clave primaria (NUM).
Para ello saco el valor del generador sin alterarlo. Uso un Query con: Select gen_id( Gen_Name,0) from rdb$database Luego lo guardo como valor de salida con: Result :=Query1.Fields[0].AsInteger // en una función. Luego aplico el evento BeforePost para controlar los valores que van al ClientDataSet. En el intento de que el Trigger haga su papel, quiero vaciar el campo NUM que el de clave primaria. Utilizo en ese evento esto: IBDataSourcex.DataSet.FieldByName('NUM').AsInteger := NULL; pero me da un error. Y si lo dejo lleno -el valor está incrementado- y además es correcto. Pero el generador no salta (+1) por insertar dato en ese campo. ¿Entiendes lo paradógico del caso? Uno parece que se explica pero luego el lector no se aclara. Muy de risa. ¿Qué se te ocurre? ¿Por dónde me voy? Gracias por tu tiempo. Un saludo, bulc |
|
|
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 |
|