TSQLTransaction de paquete SQLdb
#1
Escrito 17 octubre 2010 - 05:07
Me encontré con la sorpresa que ya está sobre gtk2 y se ve bien (antes usaba gtk1 y se veía muy feo).
Quise hacer una aplicación sencilla conectado a MySQL usando los componentes en SQLdb
Me encuentro que estos requieren tener un componente TSQLTransaction.
Inicialmente no fue problema pero luego de un rato salió un error extraño pues al cerrar la aplicación siempre sale una excepción diciendo que la operación no se puede hacer sobre una transacción activa.
Muy extraño eso. He intentado desactivar y cerrar todos los componentes de datos en el evento de cierre del formulario pero el error no desaparece
#2
Escrito 17 octubre 2010 - 05:48
este es el código en cuestión. Usa una base de datos mysql con una sola tabla llamada "nota"
CREATE TABLE nota ( id INT(11) NOT NULL AUTO_INCREMENT, tittle VARCHAR(100) NOT NULL, content VARCHAR(500) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
#3
Escrito 17 octubre 2010 - 11:37
No conozco ni Lazarus ni los componentes que mencionas, pero todo componente de transacción suele tener un commit y un rollback. El primero acepta la transacción (los cambios realizados) y el segundo los rechaza. Mira de buscarlos en tu componente de transacción y ejecuta el que más te convenga en cada caso.
Nos leemos
#4
Escrito 19 octubre 2010 - 06:55
Buenas,
No conozco ni Lazarus ni los componentes que mencionas, pero todo componente de transacción suele tener un commit y un rollback. El primero acepta la transacción (los cambios realizados) y el segundo los rechaza. Mira de buscarlos en tu componente de transacción y ejecuta el que más te convenga en cada caso.
Nos leemos
Tú en delphi usas una conexión, algún dataset y un datasource para desplegar datos en formularios. Estos componentes SQLdb adicionalmente requieren una transacción que es la que me da problemas. Realmente en todos los tutoriales la ignoran pero en mi caso lanza un excepción al cerrar la aplicación. Muy extraño eso.
Saludos
#5
Escrito 21 octubre 2010 - 08:37
Yo no utilizo mysql, pero te recomiendo que te conectes usando los componentes zeos que son muy buenos.
de cualquier manera te paso este link para que leas como utilizar mysql en lazarus Aqui..
Espero que te ayude esta informacion y seguire investigando para brindarte mas ayuda.
#6
Escrito 21 octubre 2010 - 09:36
Hola Jorgeu
Yo no utilizo mysql, pero te recomiendo que te conectes usando los componentes zeos que son muy buenos.
de cualquier manera te paso este link para que leas como utilizar mysql en lazarus Aqui..
Espero que te ayude esta informacion y seguire investigando para brindarte mas ayuda.
En esos ejemplos no usan los componentes SQLdb. He visto otros tutoriales donde crean la transacción y la ignoran sin problemas. No sé... al parecer los componenes Zeos son la mejor solución a la larga.
Muchas gracias