No se encuentra la fila para la actualización

29/10/2009 - 18:32 por José Antonio Muñoz | Informe spam
Hola al grupo,

tengo una aplicación diseñada con delphi, ado y sql server. Resulta que uno
de los procesos de edición de datos accede a una tabla (tabla1) que además
tiene asignado un trigger con la intrucción: UPDATE tabla2 SET valor=1 WHERE
id50. Cuando edito los datos de tabla1 e intento guardar con una
instrucción de ADO se produce un error: "No se encuentra la fila para la
actualización, algunos valores han cambiado desde la última vez que se
leyeron".

Este error NO se produce cuando:

a) elimino el trigger
b) Cuando se actualiza el valor de tabla2 ya que existe el id50, en
cambio si no existe 1250 el valor no se actualiza y se produce el error.

Tabla1 y Tabla2 no tienen nada que salvo el trigger. He desactivado la
anidación de triggers y la recursividad de éstos.

No sé que tiene que ver el error que me da, el trigger y menos la
instrucción que contiene. ¿Acaso el trigger devuelve un error al sistema al
no poder actualizar el valor de la instrucción update y este error se
transforma en otro error en ADO?

Estoy atascado y necesito ayuda.

saludos,
José Antonio Muñoz
 

Leer las respuestas

#1 Carlos Sacristan
30/10/2009 - 09:35 | Informe spam
¿Puedes postear el código de ese trigger?

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"José Antonio Muñoz" wrote in message
news:
Hola al grupo,

tengo una aplicación diseñada con delphi, ado y sql server. Resulta que
uno de los procesos de edición de datos accede a una tabla (tabla1) que
además tiene asignado un trigger con la intrucción: UPDATE tabla2 SET
valor=1 WHERE id50. Cuando edito los datos de tabla1 e intento guardar
con una instrucción de ADO se produce un error: "No se encuentra la fila
para la actualización, algunos valores han cambiado desde la última vez
que se leyeron".

Este error NO se produce cuando:

a) elimino el trigger
b) Cuando se actualiza el valor de tabla2 ya que existe el id50, en
cambio si no existe 1250 el valor no se actualiza y se produce el error.

Tabla1 y Tabla2 no tienen nada que salvo el trigger. He desactivado la
anidación de triggers y la recursividad de éstos.

No sé que tiene que ver el error que me da, el trigger y menos la
instrucción que contiene. ¿Acaso el trigger devuelve un error al sistema
al no poder actualizar el valor de la instrucción update y este error se
transforma en otro error en ADO?

Estoy atascado y necesito ayuda.

saludos,
José Antonio Muñoz


Preguntas similares