FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
transacciones, delphi 7 y mysql
hola....
felicitaciones por la comunidad que tienen y gracias por dejarme participar. estoy iniciando un proyecto y estoy en la etapa de probar lo que ya he selecionado (delphi 7, mysql 4.0.22, ZeosDBo-6.1.5-stable) la conexion de estos tres elementos va de maravillas tanto en una maquina local, como en red. para dar mayor confianza a las actualizaciones a la DB voy realizar transacciones a nivel de los componentes zeos. al componente zconnection en las propiedades AutoCommit y TransactIsolationLevel les doy true y tiReadCommitted respectivamente, todo esto en tiempo de diseño, en tiempo de ejecucion realizo esta pequeña rutina: Procedure.TFrom1.Button1Click(Sender:TObject); begin Zconnection.StrartTransaction; try Ztable.ApplyUpdates; Zconnection.commit; except Zconnection.Rollback; raise; end; Ztable.CommitUpdates end; cuando le doy al button me da el sgte error: "Invalid operation in non AutoCommit mode". como se ve al darle true a la propiedad AutoCommit, todo funciona de maravillas, pero creo que no es la idea, la idea es hacer una transaccion manual, la que se realiza en la rutina anterior. la verda no se a que se debe, sera problemas de los componentes o yo??? espero que me iluminen para resolver este problema¡¡¡¡¡ |
#2
|
|||
|
|||
por mi parte estoy buscando la respuesta...que hasta e momento ah sido esquiva....les pido una ayudita a todos¡¡¡¡
|
#3
|
||||
|
||||
Quizas tu problema radique en que mySQL no tiene soporte para transacciones en todos los tipos de tablas.
Creo que el siguiente enlace puede serte de utilidad. http://www.mysqlfreaks.com/mysql/man...f_Transactions Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
Cita:
Si lo hubieras mencionado antes, ambos hubiesemos dejado de perder algo de tiempo hoy...
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
perdona por el tiempo...se me fue ese punto.....
pero que me dices ...es normal que suceda eso..... sera la version de zeos bueno toy probando utilizar en forma directa las transacciones en mysql, con los comando begin; commit ; Rollback, hice unas pruebas y funciona pero me gustaria ver un ejemplo optimizado haber hago esto pero no se si estar bien procedure buttonclik(sender: TObjet); begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('begin'); ZQuery1.ExecSQL; try ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('insert into categoria values (1,2)'); Zquery1.Params[0].Value := edit1.Text; ZQuery1.Params[1].Value := edit2.Text; ZQUery1.ExecSQL; ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('Commit'); ZQuery1.ExecSQL; except ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('rollback'); ZQuery1.ExecSQL; end; end; quizas esto es una pendejada, si es asi corrijeme porfavor, pero me gustaria utilizar las transacciones atravez de los componentes, la verdad no se lo que pasa... |
#7
|
||||
|
||||
Para empezar yo creo que tu pregunta no está bien explicada.
Comienzas diciendo que Cita:
Cita:
Cita:
Así que es difícil entender cuál es realmente el problema. De cualquier forma, quizá aplique en tu caso este reporte en la lista de fallos de ZEOS así como la respuesta que le da Seroukhov. // Saludos |
#8
|
|||
|
|||
gracias roman¡¡¡¡
el link que me enviaste esta la respuesta a mis dudas...veo que si entendias mi duda¡¡ |
#9
|
||||
|
||||
Cita:
// Saludos |
|
|
|