Ver Mensaje Individual
  #2  
Antiguo 10-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Si el valor que se asigna en el trigger, es la clave primaria, yo prefiero utilizar un procedimiento almacenado que devuelva el nuevo valor, y asignarlo directamente al clientdataset en Delphi (en lugar de que se haga automaticamente en un trigger).

Ejplo.:

Código SQL [-]
CREATE PROCEDURE "CLIENTS_AutoInc" 
RETURNS (NOU_ID INTEGER)
AS
BEGIN
  NOU_ID = GEN_ID(CLIENTS_GEN, 1);
END

PD : Si el trigger no está asignando la clave primaria, entonces antes de llamar al ApplyUpdates, guardate en una variable el valor de clave primaria. Después de llamar al ApplyUpdates refresca el clientdataset, y posicionate de nuevo en el registro, mediante un Locate con la clave primaria que está en la variable.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita