Página 1 de 1
Problema con Update()
Publicado: Mié Nov 09, 2011 6:48 pm
por perolero
Hola amigos:
En una operacion tan simple como:
WITH OBJECT ::oFactura
:Edit()
:campo := .t.
if :modified()
:update()
else
:cancel()
endif
END WITH
me lanza el error. "No se puede encontrar la fila para su actualización algunos valores han cambiado desde la última vez que se leyó.[#32]".
Si la operacion es AddNew()... Update() no me provoca error, es más, si la BD MySQL la tengo en local no provoca el mencionado error, si la ataco en remoto sí.
Alguien me podría hechar una manita.
Saludos.
Emilio Gil.
Problema con Update()
Publicado: Mié Nov 30, 2011 2:04 pm
por Boris
Me sumo al pedido de Emilio !!!!
"Emilio Gil" escribió en el mensaje de
noticias:4ebabd09$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Hola amigos:
En una operacion tan simple como:
WITH OBJECT ::oFactura
:Edit()
:campo := .t.
if :modified()
:update()
else
:cancel()
endif
END WITH
me lanza el error. "No se puede encontrar la fila para su
actualización algunos valores han cambiado desde la última
vez que se leyó.[#32]".
Si la operacion es AddNew()... Update() no me provoca
error, es más, si la BD MySQL la tengo en local no provoca
el mencionado error, si la ataco en remoto sí.
Alguien me podría hechar una manita.
Saludos.
Emilio Gil.
Problema con Update()
Publicado: Mié Nov 30, 2011 2:24 pm
por Mariano Filippi
Tengo el mismo problema, y con algunas pruebas he detectado a las
condiciones que lo provocan. (en un TSqlTable o en un TSqlQuery) utilizando
TAdoDatasource.
Aparentemente, este problema surge cuando se modifica un campo, pero sin
modificarle el valor.
A ver si soy claro:
por ej, el siguiente código no falla: (supongamos que
:oTablaSql:Campo='aaaaa')
:oTablaSql:Edit()
:oTablaSql:Campo:='12345'
:oTablaSql:UpDate()
Ahora bien. Si ejecutamos nuevamente el código anterior, salta el error ("no
se puede encontrar la fila para su actualización... bla bla bla...).
Como dije, esto ocurre porque intentamos poner el mismo valor. Como si el
comando Update() fallara si detecta que no se modifica ningún valor y hay
asignaciones pendientes.
Es extraño.
Estaría bueno saber como solucionarlo.
"Emilio Gil" <emiliogil[at]ono[dot]com> escribió en el mensaje de
noticias:4ebabd09$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Hola amigos:
>
> En una operacion tan simple como:
>
> WITH OBJECT ::oFactura
> :Edit()
> :campo := .t.
> if :modified()
> :update()
> else
> :cancel()
> endif
> END WITH
>
> me lanza el error. "No se puede encontrar la fila para su
> actualización algunos valores han cambiado desde la última
> vez que se leyó.[#32]".
>
> Si la operacion es AddNew()... Update() no me provoca
> error, es más, si la BD MySQL la tengo en local no provoca
> el mencionado error, si la ataco en remoto sí.
>
> Alguien me podría hechar una manita.
>
> Saludos.
> Emilio Gil.
>
>
>
Problema con Update()
Publicado: Mié Nov 30, 2011 6:52 pm
por perolero
Hola Mariano:
Lo que tu pones yo ya lo había detectado que cuando no cambiaba el valor del campo al realizar el Update() daba el error, pero mira bien el codigo escrito por mí, yo solo realizo el Update() en caso de que se haya modificado el campo en caso contrario realizo un Cancel() y aún así el error persiste, pero insisto solo cuando el ataque se hace a MySql en remoto, nunca en local.
Saludos.