Ver Mensaje Individual
  #1  
Antiguo 14-06-2003
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Reputación: 22
mosorio Va por buen camino
Question Generadores¡¡¡¡

Hola compañeros,

Tengo un inconveniente con los generadores, bueno extactamente con ellos no sino con la obtención del valor. Cuando ejecuto la sentencia sql para obtener el último, y asignarlo en el campo, tarda casi un segundo o mas en mostrarse y se nota la tardanza, el cídogo que utilizo es:

Cita:
sqlGenId.Close;
sqlGenId.CommandText := '';
sqlGenId.CommandText := 'Select gen_id('+ NombreGen +', 0) Id '+ 'from RDB$DATABASE';
sqlGenId.Open;

result := sqlGenId.FieldValues['ID'] + 1;
sqlGenId.Close;
Este es el ejemplo que he encontrado en la webde Ian, también se de las consecuencias que pueden haber al restringir las tablas del sistema en las nuevas versiones de Firebird.

Lo que necesito es saber si hay algún procedimiento más optimo, se que este lo es, pero alguno donde no se note el refresco, he intentado desactivar los controles pero no me asigna el valor en el campo o no lo muestra.
Como pueden ver estoy utilizando dbexpress.
Si hago un procedimiento almacenado donde pueda obtener el dato, no se si sea más veloz u optimo, si es así, tendría que hacer uno por cada tabla que necesite incrementar.

Agradezco la ayuda de antemano.

PD: Disculpen si no he contstado o dado consejo alguno de los dif. hilos, pero estoy contra el reloj con este proyecto. Prometo colaborar cuando vaya finalizando, espero sea pronto.

Gracias
Responder Con Cita