TDBOdbcDirect()

TDBOdbcDirect()

Postby VeRCE » Wed Apr 05, 2006 7:38 pm

A que se debe este mensaje ???
Como evitarlo ???

Some record fields (3) have change since the last retrieve operation.
Update aborted.


Gracias
Juan Carlos Salinas Ojeda
México. D.F.
-------------------------------------------------
User avatar
VeRCE
 
Posts: 219
Joined: Fri Nov 04, 2005 2:34 pm
Location: Mexico D.F.

Postby jlcapel » Wed Apr 05, 2006 10:28 pm

Juan Carlos,

La clase tOdbcDirect utiliza la misma técnica que ADO: hace una consulta de acción para verificar si los datos que vas a actualizar son 'consistentes'. En caso que hayan sido modificados por otro terminal mientras tu estabas editando los mismos datos la clase te avisa con el mensaje que citas.

Saludos,
José Luis Capel
User avatar
jlcapel
 
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España

Postby VeRCE » Thu Apr 06, 2006 2:50 pm

Es decir que cada vez que dos terminales modifiquen los
datos del mismo registro, el último que intente actualizar
los datos obtendrá ese error. Es correcto ???
Juan Carlos Salinas Ojeda
México. D.F.
-------------------------------------------------
User avatar
VeRCE
 
Posts: 219
Joined: Fri Nov 04, 2005 2:34 pm
Location: Mexico D.F.

Postby jlcapel » Thu Apr 06, 2006 4:54 pm

Juan Carlos,

Es decir que cada vez que dos terminales modifiquen los
datos del mismo registro, el último que intente actualizar
los datos obtendrá ese error. Es correcto ???


Si... ese es el comportamiento por defecto. Si quieres evitarlo puedes poner la data ::lNoCompare a .T.

No obstante, puedes modificar directamente el método UPDATE y marcar lo siguiente:

Code: Select all  Expand view
/*
     if ::RecordHasChanged(@aChanged)
         if aChanged[1] == 0
            ::SQLAlert("Record has been deleted since the last retrieve operation, Update aborted")
         else
            cFields := ""
            Aeval(aChanged, {|v,e| cFields += ltrim(str(v)) + iif( e < len(aChanged),", " ,"" )})
            ::SQLAlert("Some record fields ("+cFields+;
                       ") have change since the last retrieve operation, Update aborted")
         endif
         return .f.
      endif
*/


Saludos,
José Luis Capel
User avatar
jlcapel
 
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España

Postby VeRCE » Thu Apr 06, 2006 7:39 pm

Que consecuencias tendría si comento esas lineas que
me estás sugiriendo ???
Juan Carlos Salinas Ojeda
México. D.F.
-------------------------------------------------
User avatar
VeRCE
 
Posts: 219
Joined: Fri Nov 04, 2005 2:34 pm
Location: Mexico D.F.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 29 guests