Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Una Transacción por cada Tabla????

Uso IBX 7.08, D7,FireBird 1.51
Tengo 10 Tablas que conforman 6 Catálogos y 2 Maestros Detalle, mi pregunta es, la manera correcta de manejar las Transacciones es teniendo un IbTransaction por cada Tabla ó bien tener solo un IbTransaction por todas????

y Cuando me recomiendan Iniciar la Transacción cuando se crea el DataModule que es al Iniciar mi aplicación ó bien antes de mandar a grabar los datos????

Que me recomiendan hacer????

Cualquier Comentario se los agradezco mucho.
Responder Con Cita
  #2  
Antiguo 25-09-2004
buitrago buitrago is offline
Miembro
 
Registrado: sep 2003
Posts: 156
Poder: 21
buitrago Va por buen camino
COmo quieras

Si, las puedes hacer en grupos, segun su utilidad, por ejemplo, para los archivos nomencladores, yo solo uso una, y actualizazo todo cuando ha habido cambios y voy a facturar, para que todo este listo.

Nada, no hay reglas, a veces si, a veces no, sé que es un poco vago lo que te digo, pero es la pura verdaad, creo que no hay libros que te digan esto se hace asi o asao.

Saludos

Fer
Responder Con Cita
  #3  
Antiguo 25-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Cita:
Empezado por buitrago
Si, las puedes hacer en grupos, segun su utilidad, por ejemplo, para los archivos nomencladores, yo solo uso una, y actualizazo todo cuando ha habido cambios y voy a facturar, para que todo este listo.

Nada, no hay reglas, a veces si, a veces no, sé que es un poco vago lo que te digo, pero es la pura verdaad, creo que no hay libros que te digan esto se hace asi o asao.

Saludos

Fer
Muchas Gracias por sus respuestas.
Responder Con Cita
  #4  
Antiguo 27-09-2004
cybergerman cybergerman is offline
Miembro
 
Registrado: ago 2004
Posts: 36
Poder: 0
cybergerman Va por buen camino
Yo lo utilizo así:

if datamodule.ibtransaction.intransaction then
datamodule.ibtransaction.rollback;
datamodule.ibtransaction.starttransaction;
try
datamodule.query.sql.clear;
datamodule.query.sql.add('instruccion sql');
'mensaje de confirmación'
datamodule.query.execsql;
datamodule.query.commit;
except
datamodule.ibtransaction.roolback;
raise;
end;

Utilizo un módulo de Datos con el componente de Base da Datos y un solo componente de Transaccion.
En los otros módulos de datos tengo los otros componentes(querys,etc), pero estos módulos de datos utilizan el primero(el comentado en el primer párrafo).
Responder Con Cita
  #5  
Antiguo 27-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Cita:
Empezado por cybergerman
Yo lo utilizo así:

if datamodule.ibtransaction.intransaction then
datamodule.ibtransaction.rollback;
datamodule.ibtransaction.starttransaction;
try
datamodule.query.sql.clear;
datamodule.query.sql.add('instruccion sql');
'mensaje de confirmación'
datamodule.query.execsql;
datamodule.query.commit;
except
datamodule.ibtransaction.roolback;
raise;
end;

Utilizo un módulo de Datos con el componente de Base da Datos y un solo componente de Transaccion.
En los otros módulos de datos tengo los otros componentes(querys,etc), pero estos módulos de datos utilizan el primero(el comentado en el primer párrafo).
Inicias Transacción cada vez que mandas a Actualizar ????
Responder Con Cita
  #6  
Antiguo 22-12-2004
rochi rochi is offline
Miembro
 
Registrado: nov 2004
Ubicación: mvd, uruguay
Posts: 57
Poder: 20
rochi Va por buen camino
Question

Hola, justo encontré un hilo con las dudas que tengo, aunque no me las responde totalmente
Bueno, mi aplicación es en Delphi 7 + Firebird 1.5.1 monousuario, utilizando los componentes IBX. Tengo claro la definición de una transacción, sin embargo como soy nueva en esto tengo dudas si estoy haciendo bien las cosas, por mas que lea aqui y allá hay cosas que salen de la experiencia, inclusive la ajena

En mi aplicación tengo un DModule que tiene la TIBDataBase y TIBtransaction, y por ahora esa txn, es usada por todos . Las tablas que no son maestro (de una relación maestro/detalle) las manejo con el IBDataSet, y las búsquedas en las mismas con un TIBQuery. Por ejemplo buscar en el IBDataSEt un registro por alguno de sus campos (IBDataSet- > Socios, TQuery-> consultas sobre los socios).
El TIBDataSet y TIBQuery están en otro DataModule, que usa (Uses mediante) al que tiene la transacción. Ya que tanto el TIBDataSet como la TIBQuery usan la misma. No he tenido problemas, pero dada mi poca experiencia puede ser porque aun no he contemplado casos donde este enfoque me traiga dolores de cabeza. El Help de IBX dice que un Query debe tener sus propias transacciones. Pero es query no se si se refiere al TIBQuery o a qué, asumo que si.

Para las relaciones Maestro-Detalle, utilizo los ClientDataSet con nested dataset y queries. Todos con la misma txn, esto lo estoy probando aun.

Entonces, ¿cuales inconvenientes tiene este enfoque?, ¿en qué casos sería aplicable?. ¿En qué otros es mejor tener txns separadas de otras?

Bueno, solo eso, gracias

rochi
Responder Con Cita
Respuesta



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 21:29:43.


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