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 10-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 26
guillotmarc Va por buen camino
Personalmente utilizo el sistema de un procedimiento almacenado. No le veo tantos problemas :

A) Objetos StoredProc y sus parámetros. Yo utilizo herencia visual, por lo que ya tengo por defecto un StoredProc en cada formulario, a punto para usarlo para esto (junto con todo el código necesario). Aunque si no quieres usar herencia visual, y tampoco quieres tener un StoredProc en cada pantalla, simplemente puedes crearte una función genérica, a la que le pasas un nombre de generador y te devuelva el siguiente código para ese generador.

Ejplo. para la pantalla de clientes :

procedure frmClientes.qryClientesAfterInsert(Dataset: TDataset);
begin
Dataset.FieldValues['CODIGO'] := General.NuevoCodigo('GEN_CLIENTES');
end;

Como puedes ver, solo necesitarás un StoredProc (o un Query), en la función Genérica NuevoCodigo.

B) Tráfico de datos entre cliente y servidor. El tráfico será mas bien menor. Tal como lo estás haciendo ahora, tienes que volver a cargar el Dataset para poder ver el nuevo registro con su código de clave primaria. En cambio consultar el nuevo código desde la aplicación Delphi para asignarlo al nuevo registro, comporta un tráfico muy pequeño (solo hay que recoger un valor entero) y implica que ya no es necesario volver a cargar el Dataset, y posicionarnos en el ultimo registro.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
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 19:27:47.


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