Delphi - ADO - error en post

 
Vista:

ADO - error en post

Publicado por Natalia (2 intervenciones) el 24/09/2006 04:16:14
Hola, tengo el siguiente problema.
Tengo un adoconnection con la cual comienzo una transaccion. Tengo invulucrada 3 tablas en la transacion, las tablas estan relacionada (maestro - detalle: master -> medio -> final). El problema comienza cuando quiero actualizar la tercer tabla. Le pongo un resumen del codigo:
connection1.begintrans;
try
final.edit
final.insert
actualizo los campos
final.post

En este punto tengo que editar la tabla maestra MASTER (tengo que actualizar un campo de master, el cual varia a datos de varios campos de la tabla FINAL que acabo de actualizar.
master.edit
actualizo el campo que me interesa
master.post
Al ejecutarse esta ultima sentencia me sale el error: ROW CANNOT BE LOCATED FOR UPDATING SOME VALUES MAY BEEN CHANGED SINCE IT WAS LAST READ
Probe usando un master.locate('campo', idcodigo,[])
El locate funciona bien (encuentra el registro que tengo que modificar), pero me sigue largando el mismo error

Tambien yo suponia que si existia algun error, los registros que se actualizaron en la tabla FINAL se borrarian, pero estos quedan sin borrarse.
La sentencia adoconnection.rollback que pongo en except NO funciona
forma de usar las transacciones la saque del foro:
adoconnection.begintrans
try
modificar todas las tablas necesarias
adoconnection.commit
except
adoconnection.rollback
end

La forma que puedo hacer funcionar la aplicacion es: modificar tabla MASTER, modificar tabla MEDIO, salir de la aplicacion, entrar de nuevo en la aplicacion y finalmente modificar tabla FINAL..
Hubo un momento en que la aplicacion funcionaba bien. Pero como necesitaba añadir un par de campos a la tabla MASTER, junto con otra tabla (utilizo MS SQL 2005). Desde esa modificacion la aplicacion dejo de funcionar. Pense que la tabla MASTER podria tener algun registro mal, por eso borre todos los registro de las tres tablas (MASTER, MEDIO Y FINAL). Pero el error sigue apareciendo. Cualquier consejo que me den se los voy a agradecer.
Aparte de esta consulta tengo otras, pero primero quiero solucionar este GRAN problema que tengo. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ADO - error en post

Publicado por LSamboy (75 intervenciones) el 24/09/2006 23:31:01
permiteme corregirte.

el primer problema que veo es que pones final.edit y luego final.insert
solo debes de poner a uno de los dos, y sin duda debes quedarte con el metodo edit, elimina la line final.insert y me escribes luego de eso, estare esperando.

att: LSamboy.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar