Ver Mensaje Individual
  #2  
Antiguo 29-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Esto suele hacerse del lado servidor, dentro de la base de datos en un trigger before insert:
Código SQL [-]
if new.id_monitor is null then 
  new.id_monitor = Gen_ID('GEN_ID_MONITOR',1);
Ahora al tiempo de insertar, omites el campo id_monitor o directamente en la SQL le pasas el valor NULL (declara la unidad Variants en el uses para que compile).

Para hacerlo del método que tú quieres, tendrías que lanzar otra consulta más para generar el valor:
Código Delphi [-]
query1.sql.text := 'select Gen_ID('+ quotedstr('GEN_ID_MONITOR')+',1)';
query1.Open
IB_Dataset.FieldByName('ID_MONITOR').AsInteger:=
query1.Fields[0].AsInteger;
query1.Close;
(dicho de memoria, espero que funcione).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita