TdbOdbcDirect problema con metodo :Update()

TdbOdbcDirect problema con metodo :Update()

Postby Biel EA6DD » Thu Oct 05, 2006 9:13 am

Estoy utilizando la clase TdbOdbcDirect, tengo asignado a un boton que ejecute el metodo Update, el problema es que si se pulsa Ok, y no se ha modificado ningun campo, la sentencia que genera es del tipo
Code: Select all  Expand view  RUN
UPDATE tabla SET WHERE ...

esta cadena al ejutarla produce un error puesto que no hay ningun campo a acuatilizar despues del SET.

Alguna idea para solucionarlo, yo he modificado el metodo :Update la linea que pone
Code: Select all  Expand view  RUN
lRet := ::Execute(cSql, "TDbOdbcDirect:Update()")

por esta otra
Code: Select all  Expand view  RUN
lRet := IF(Empty(::GenUpdate),.T.,::Execute(cSql, "TDbOdbcDirect:Update()")) //Biel

Esto funciona correctamente, pero agradeceria si alguien le ha dado solución por otra via, u otra idea.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby R.F. » Thu Oct 05, 2006 7:28 pm

Biel:

No mates pulgas a cañonazos, hazlo por ADO que va como una moto, sin complicacines de ODBC, DSN, conectores, cursores en memoria ni nada.
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby Biel EA6DD » Mon Oct 09, 2006 2:29 pm

Gracias Rene por el consejo, la verdad es que con tOdbc y TDbOdbcDirect me funciona bastante bien.

De todas maneras si que tengo previsto el probar ADO, y si funciona segun lo esperado ir migrando.

Por lo leido, es bastante mas rapido, y eso siempre viene bien.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Vikthor » Wed Oct 11, 2006 2:13 pm

Biel EA6DD wrote:Gracias Rene por el consejo, la verdad es que con tOdbc y TDbOdbcDirect me funciona bastante bien.

De todas maneras si que tengo previsto el probar ADO, y si funciona segun lo esperado ir migrando.

Por lo leido, es bastante mas rapido, y eso siempre viene bien.


Biel :

Para cuando decidas usa ADO la solución a tu problema se resuelve evaluando el valor de EditMode

EditMode Señala el estado de edición de un registro. Existen tres posibilidades:

Code: Select all  Expand view  RUN
adEditNone.         El registro no se encuentra editado.
adEditInProgress. El registro se encuentra editado, pero no se ha grabado.
adEditAdd.           Se ha llamado al método AddNew


¡ Más sencillo no se puede ! :D
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México


Return to FiveWin para Harbour/xHarbour

Who is online

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