Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 25-02-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Algo que debes tener en cuenta es si los 30 DataSets tienen que estar abiertos al mismo tiempo.
Por ejemplo. Si tienes 10 DataSets para un Formulario de Clientes y 10 DataSets para otro de Pedidos y otros 10 para un formulario de Facturas, podrías abrir la transacción y los DataSets de lo que estés mostrando y cerrar el resto.

Con ese mismo ejemplo, yo tendría tres formularios con su correspondiente DataModule y dentro de el una transacción por cada uno.

- DMPrincipal
--- Database
--- OnCreate: Database.Open;
--- OnClose: Database.Close;
- FMPrincipal

- DMCliente
--- TLocal
--- DataSet, Database = DMPrincipal.Database, Transaction=TLocal
--- OnCreate: Transaction.StarTransaction; DataSet.Open;
--- OnClose: DataSet.Close; Transaction.Commit;
- FMCliente

- DMPedido
--- TLocal
--- DataSet, Database = DMPrincipal.Database, Transaction=TLocal
--- OnCreate: Transaction.StarTransaction; DataSet.Open;
--- OnClose: DataSet.Close; Transaction.Commit;
- FMPedido

- DMFactura
--- TLocal
--- DataSet, Database = DMPrincipal.Database, Transaction=TLocal
- FMFactura

De esta manera, puedes tener 3 transacciones abiertas e ir haciendo Commit y volviendo a abrir solo la que necesitas.

Si todos son necesarios en un mismo momento, puedes hacer un procedimiento que guarde la posición en la que están los Datasets, haga Commit y vuelva a abrir y posicionarlos.

Una tercera opción (y que depende de los datos que tengas) es poner los datos más estáticos (los que no cambian a lo largo del programa) con una transacción y los que si cambian a menudo en otra. De esta manera solo refrescas los que cambian.
Dato que no cambia : Tipo de cliente: MA-Mayorista, MI-Minorista, GS-Grandes superficies
Dato que cambia: Pedido, Detalle de Pedido, etc.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con datos paradox salvanano Conexión con bases de datos 3 02-08-2007 19:31:48
Problemas con Base de Datos i_gauss C++ Builder 2 16-01-2006 11:02:50
Problemas al agregar datos romansiux Conexión con bases de datos 2 15-04-2005 03:30:16
Problemas con MDI y Bases de datos NeWsP Varios 10 14-10-2003 22:17:48
Problemas con ficheros de datos Ane Varios 9 15-07-2003 15:27:27


La franja horaria es GMT +2. Ahora son las 06:26:55.


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