![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Transacciones - ClientDataSet
Hola estoy teniendo problemas a la hora de trabajar con transacciones. La base de datos q tengo es MySQL.
El problema esta cuando intento realizar un commit o rollback, me lanza un mensaje en el que me dice algo asi: 'commands outs of sync. You can´t run this command now'. El caso es que me confirma los cambios. El codigo es asi: client.post; client.applyupdates(0); sqlconection.commit; Utilizo transacciones porque se insertan datos en distintas tablas. ¿Alguien puede ayudarme? |
#2
|
|||
|
|||
Dos cosas a este respecto, usted no puede hacer "sqlconnection.commit" sin antes haber iniciado una transacción y segundo los ClientDataSet de por si son transaccionales, si quiere capturar el error que se genera puede utilizar un OnReconcileError.
|
#3
|
|||
|
|||
anteriormente realizo startTransaction y configuro el transactionDesc. Con respecto a los clientdataSet lo que quiero hacer es q una ve he aplicado los cambios necesarios en todas las tablas que se realiacen todos (o ninguno). Es por eso las transacciones:
por ejemplo: clienteObra.applyUpdate(0); clienteSubcuadroObra.applyupdate(0); clienteparteObra.applyupdate(0); ... sqlconection.commit; No se si me explico bien. No deberia de usar transacciones? Muchas gracias por contestar. te agradecería me explicaras como hacerlo. |
#4
|
|||
|
|||
Creo que he encontrado la solucion al poblema, que alguien me corrija si me equivoco. Parece ser que el mensaje que me daba era porque habia otra solicitud de datos al servidor, la clientdataset que estaban abiertos. He cerrado estos y los sqldataset y ya no me da el error. Agradecería confirmacion de esto. Gracias
|
![]() |
|
|
![]() |
|