In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema con Update()

Foro público de Xailer en español
Responder
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Problema con Update()

Mensaje 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.
Boris
Mensajes: 153
Registrado: Jue Ago 17, 2006 1:26 pm

Problema con Update()

Mensaje 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.
Mariano Filippi
Mensajes: 102
Registrado: Mar Ago 15, 2006 3:28 pm

Problema con Update()

Mensaje 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.
>
>
>
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Problema con Update()

Mensaje 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.
Responder