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
  #7  
Antiguo 27-11-2007
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
Otro consejo o regla que deberías seguir:

Las transacciones deben ser lo más cortas posibles.

Por lo tanto,
- Cada form debería tener una transaccion independiente.
- Cada listado debería tirar de un query con su propia transaccion.
- Si necesitas buscar algún dato deberías hacerlo abriendo y cerrando la transacción inmediatamente.

Por lo tanto:
- Deberías tener un DataModule principal con el componente de base de datos
- Cada Form debería tener su DataModule con una transaccion unida a la base de datos del DataModule principal
- Para consultas aisladas yo hago lo siquiente:
Código Delphi [-]
function Form1.DameCantidadDato: Integer;
var
  q: TFibQuery;
begin
  q := TFibQuery.Create(Self);
  try
    q.Database    := DMMain.Database;
    q.Transaction := TFibTransaction.Create(Self); {Crea transaccion}
    q.Transaction.DefaultDatabase := DMMain.Database;
    q.Transaction.StartTransaction; {Empieza transaccion}
    q.SQL.Text := 'SELECT COUNT(*) FROM TABLA';
    q.ExecQuery;
    Result := q.FieldByName['COUNT'].AsInteger;
  finally
    q.Transaction.Free; {Termina transaccion}
    q.Free;
  end;
end;

Última edición por duilioisola fecha: 27-11-2007 a las 11:54:04.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Transaction Log Luis Castillo MS SQL Server 4 04-10-2007 16:28:51
Como usar el componente Transaction Tauro78 Firebird e Interbase 2 01-02-2007 17:50:12
Transaction e IBDataSet (IBX) T-man Firebird e Interbase 8 14-10-2004 16:14:08
Transaction active cmgenny Firebird e Interbase 2 31-05-2004 16:38:16
Sobre IbDataset y Transaction Rabata Conexión con bases de datos 0 17-09-2003 19:19:42


La franja horaria es GMT +2. Ahora son las 10:32:21.


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