Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2009
jrperezt jrperezt is offline
Registrado
 
Registrado: sep 2006
Posts: 7
Poder: 0
jrperezt Va por buen camino
Pues no hace Rollback correctamente.

Tengo el siguiente código:

Código:
    if not DMConexionDB.ZConnection.InTransaction then
        DMConexionDB.ZConnection.StartTransaction;
    try
      Post;
      if TZQuery(Dataset).UpdatesPending then
          TZQuery(Dataset).ApplyUpdates;

      ProcedimientoConError; // Este procedimiento da un error forzado

      DMConexionDB.ZConnection.Commit;
      Result := True;
    except
      DMConexionDB.ZConnection.Rollback;
      Result := False;
      raise;
    end; // Try/Except
Los cambios que se fijan en TZQuery(Dataset).ApplyUpdates, no se deshacen con el Rollback.


¿Que puede estar pasando?.
Responder Con Cita
  #2  
Antiguo 02-02-2009
Avatar de gasparsi
gasparsi gasparsi is offline
Miembro
 
Registrado: nov 2006
Ubicación: Salina Cruz, Oax. Mex.
Posts: 27
Poder: 0
gasparsi Va por buen camino
tal vez debes comensar con BEGIN

Cito lo que leí acerca de los RollBack:

"Los pasos para usar transacciones en MySQL son:

* Iniciar una transacción con el uso de la sentencia BEGIN.
* Actualizar, insertar o eliminar registros en la base de datos.
* Si se quieren los cambios a la base de datos, completar la transacción con el uso de la sentencia COMMIT. Únicamente cuando se procesa un COMMIT los cambios hechos por las consultas serán permanentes.
* Si sucede algún problema, podemos hacer uso de la sentencia ROLLBACK para cancelar los cambios que han sido realizados por las consultas que han sido ejecutadas hasta el momento."

fuente: http://www.webtaller.com/construccio...es-mysql-2.php
Responder Con Cita
  #3  
Antiguo 03-02-2009
jrperezt jrperezt is offline
Registrado
 
Registrado: sep 2006
Posts: 7
Poder: 0
jrperezt Va por buen camino
Hola gasparsi.

Gracias por el consejo, pero la implementación del BEGIN es lo que intento hacer en el siguiente código:
Código:
if not DMConexionDB.ZConnection.InTransaction then
   DMConexionDB.ZConnection.StartTransaction; // Esto sería el begin
Responder Con Cita
Respuesta


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
Ayuda por favor: TZQuery + TClientDataSet = Error. juanblack Conexión con bases de datos 2 23-09-2008 20:46:13
Problemas con pasar parametros con TZquery Coco_jac Varios 2 18-04-2006 15:12:57


La franja horaria es GMT +2. Ahora son las 22:46:53.


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