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 04-08-2003
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
Ejemplo de una Transaccion

hola

podria algun colega del foro tener la amabilidad de escribir un ejemplo sencillo y detallado de como se realiza una transaccion. sucede que tengo que empezar a trabajar con este tipo de operacion para la integridad de los datos y no se como se utiliza.


Saludo.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #2  
Antiguo 04-08-2003
CORBATIN CORBATIN is offline
Miembro
 
Registrado: may 2003
Ubicación: España
Posts: 131
Poder: 22
CORBATIN Va por buen camino
Aquí tienes un pequeño ejemplo:

with Query1 do
begin
Database1.StartTransaction;
try
ApplyUpdates;
Database1.Commit; {inicias la transacción};
except
Database1.Rollback; {en caso de error se deshacen los cambios hasta el último commit realizado}
raise;
end;
CommitUpdates; {se actualizan los datos y se borran de la caché si todo va bien}
end;

end;

Aunque yo sé de que va la cosa, pero este ejemplo lo he sacado de la ayuda de delphi, te aconsejo que busques en ella, yo no domino muy bien el ingles, pero con algunas palabras sueltas se sacan buenas conclusiones, saludos.
__________________
No hay vientos favorables para quién no conoce su rumbo.
Responder Con Cita
  #3  
Antiguo 04-08-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Disculpa CORBATIN, pero voy a cambiar tus traducciones:

Con querys modificables:
Código:
procedure TForm1.ApplyButtonClick(Sender: TObject);
begin
  with CustomerQuery do
  begin
  Database1.StartTransaction; {Abre la transacción}
    try
      ApplyUpdates; {Intenta escribir las modificaciones en la base de datos};
      Database1.Commit; {Si el ApplyUpdates es exitoso, cierra la transacción y guarda los datos};
    except
      Database1.Rollback; {Si el ApplyUpdates falla, deshace los cambios};
    raise; 
  end;
  CommitUpdates; {si es exitoso, borra el cache}
  end;
end;
Con ExecSQL modificables:
Código:
procedure TForm1.ApplyButtonClick(Sender: TObject);
begin
  with CustomerQuery do
  begin
  Database1.StartTransaction; {Abre la transacción}
    try
      Sql.Text := 'UPDATE....';
      ExecSQL;
      Database1.Commit; {cierra la transacción y guarda los datos};
    except
      Database1.Rollback; {Si Falla, deshace los cambios};
      raise;
    end;
  end;
end;
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 05-08-2003
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
hola

despues de haber visto sus ejemplos que son bastantes satisfactorios, quisiera hacerles otra preguntita.

las transacciones solo funcionan con querys, porque yo estoy utilizando tables para insertar y todo eso y querys para las consultas.

saludos.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #5  
Antiguo 05-08-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola,

fijate que las transacciones son a nivel de la BD, de modo que no importa si es un query o una tabla, la que ejecuta la transacción es la Conexión a la que están enlazados los queries o tables.

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


La franja horaria es GMT +2. Ahora son las 19:53:59.


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