Duda dbExpress + Interbase
Hola lista, Tengo una pequena duda, estoy trabajando con dbExpress + Interbase Server 6.01, Windows 2000 especificamente con el componente TSQLClientDataSet ( el ultimo de la paleta dbExpress) y mi duda es que tengo un Trigger + un Generador en el Server para un campo autoincrementado que es el Codigo ademas de ser Not Null y el Triger no se me ejecuta cuando estoy editabdo en el Grid. Sin embargo si se ejecuta cuando inserto datos en un administrador de IB tipo Databse WorkBench, por ejemplo.
Cuando inserto los datos a traves del Grid en mi aplicacion me dice que el campo XXX es no puede ser nulo y es que el trigger no se me esta ejecutando. Como tengo que hacer para el Trigger s e me ejecute ?? Alguna propiedad, evento, componente ?? He buscado por todas partes y no acabo de dar pie con bola ... Gracias a todos de antemano ... |
Hola,
Cita:
Saludos. |
Hola.
En lugar de utilizar un trigger, usa un procedimiento almacenado, o una consulta, para calcular el nuevo codigo a asignar, y haz la asignación en el evento afterinsert del clientdataset. Ejemplo de procedimiento almacenado : Código:
SET TERM ^ ; Ahora, en el evento AfterInsert del clientdataset solo tienes que hacer algo como : Código:
procedure TdmData.cdsP_FamiliasAfterInsert(DataSet: TDataSet); Saludos. |
La franja horaria es GMT +2. Ahora son las 15:18:44. |
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