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 02-10-2008
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Transacciones DataSetProvider y ClientDataset

Hola, que tal, yo aqui de vuelta, les hago una pequeña y gran consulta.

Si bien los DataSetProviders generan las transacciones implicitamente, lo que necesito es saber como puedo hacer porque tengo dos tablas y necesito que se actualizen dentro de una transaccion, el tema es como puedo actualizar ambas tablas seguras y si da algun error poder hacer un rollback, espero que haber sido claro, muchas gracias.
Responder Con Cita
  #2  
Antiguo 02-10-2008
pigu pigu is offline
Miembro
 
Registrado: jul 2004
Posts: 12
Poder: 0
pigu Va por buen camino
Transacciones

Hola pablonill:

Mira, si usas componentes Ado debes hacer asi:

Código Delphi [-]
procedure guardar;
var vError: integer;
begin
   try
      AdoConnection.BeginTrans;
      DatasetProviders.ApplyUpdates(ClientDataSet.Delta, 0, vError);
      AdoConnection.CommitTrans;
   except
   on E: Exception do
   begin
      AdoConnection.RollbackTrans;
      MessageBox(PChar(E.Message), 'Error al guardar', MB_OK + MB_ICONERROR)
   end;
end;

Espero te sirva de ayuda.

Última edición por pigu fecha: 02-10-2008 a las 23:19:53. Razón: No salio bien las etiquetas del codigo Delphi
Responder Con Cita
  #3  
Antiguo 10-10-2008
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Muchisimas gracias maestro. Sos un grande.
Responder Con Cita
  #4  
Antiguo 22-11-2008
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
y si fueran los componentes de interbase

hola te hago una consulta voy a empezar con delphi 7 y con Firebird 2.0 con los compoenentes de interbase q vienen por defecto, como seria el codigo q pusiste con los compoenetes ado pero con los componentes de interbase.
Se pueden usar esos componentes ado para la base firebird?
Responder Con Cita
  #5  
Antiguo 22-11-2008
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Hola, te comento que uso delphi 2009 no es el mismo procedimiento que para delphi 7. Pero te puede orientar.

Código Delphi [-]
var
  TD: TDBXTransaction;
begin
  try
    TD := DM.Conexion.BeginTransaction(TDBXIsolations.ReadCommitted);
 
    //Aqui todo el procedimiento de actualizacion de datos
   
   
    DM.Conexion.CommitFreeAndNil(TD);
 
    except

      On e:Exception do
      begin
        DM.Conexion.RollbackFreeAndNil(TD);
        raise;
      end;
end;

Espero que te sirva, saludos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda ClientDataSet, DataSetProvider y ApplyUpdates cmm07 Varios 1 23-03-2008 08:27:28
DataSetProvider david duarte Providers 3 19-01-2006 15:10:57
IBQuery --> DataSetProvider --> ClientDataset pinoxito Conexión con bases de datos 8 16-11-2005 20:40:34
Transacciones - ClientDataSet motrildelphi Conexión con bases de datos 3 11-05-2005 10:28:53
DbExpress - Transacciones - más de un clientDataSet carlosmari Conexión con bases de datos 7 29-09-2003 20:07:54


La franja horaria es GMT +2. Ahora son las 10:53:09.


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