Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 14-06-2003
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 24
mosorio Va por buen camino
Hola delphoros!

Creo que esta vez me contestaré a mi duda, y espero le sirva a todos los que han tenido y tendrán esta misma.
He utilizado un procedimiento almacenado en la BD sencillo que ejecuta un generador:

Cita:
create procedure Gen_Codigo
returns (Id Integer) as
begin
Id = Gen_Id(<NombreGenerador>, 1);
end^

:. NombreGeberador es el generador creado para cada una de las tablas o id que necesitan incremento.
Ahora en el programa Delphi, en el datamódulo se inserta un componente SP sin asignarle el procedimiento almacenado, esto para reutilizarlo con los otros.

Se crea una function para ejecutar el SP y retornar el valor:

Cita:
function TdmPrg.EjecutarGenerador(NombreGen: String): Integer;
begin
spGenerador.Close;
spGenerador.StoredProcName := NombreGen;
spGenerador.ExecProc;

Result := spGenerador.Params[0].AsInteger;
end;

procedure TdmPrg.cdsTipoIVAAfterInsert(DataSet: TDataSet);
begin
cdsTipoIVA.FieldByName('IDTIPOIVA').AsInteger := EjecutarGenerador('GEN_IDTIPOIVA');
end;
Y en CDS en el evento despues de insertar capturamos el valor para ser asignado al componente dbe que ha sido enlazado con el datasource.
Ahora la respuesta es mucho más rápida y no se nota la asignación.
Yo estoy trabajando en el mismo pc y tengo instalado un SO de servidor, esta tardanza era bastante preocupante ya que en el mismo pc daba el retardo, no quería imaginar cuando se hicieran las pruebas en red a otros pc.
Lógico esta que al cancelar una inserción se perderá el consecutivo, pero esto lo controlaré más adelante en la misma BD realizando los controles de actualiación en cascada y otras cositas que he estado viendo en el motor FireBird, IB y el libro de La cara Oculta de Delphi 4

Gracias y espero les sirva.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:28:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi