FoxPro/Visual FoxPro - problemas con spt+driver para foxpro

 
Vista:

problemas con spt+driver para foxpro

Publicado por alberto (37 intervenciones) el 12/06/2005 08:22:00
estoy principiando con vfp6.0 + SPT
tengo una base con; entre otras ;una tabla clientes con campos clave i llave primaria, stamp T , nombre C50, ...., y hago la siguiiente prueba
aaa=sqlstringconnec('driver={microsoft visual foxpro driver ........)
aaa.sqlexec(aaa,'select * from clientes where clave=1')
browse && para ver sqlresult y luego hago cambios en el cursor
liresult=sqlexec(aaa,'update clientes set stamp=datetime(), nombre=?nombre,...
where cliente=1 and stamp=?stamp')
sqldisconnect(aaa)
esto funciona bien si nadie modifico el registro mientras yo modifico el cursor, pero si otro usuario modifica el registro , la instruccion update no se realiza (como debe ser ya que stamp cambio) pero sqlexec de todas formas regresa 1 y yo no puedo saber que la instruccion update no se realizo en la base, cheque aerror() y hay si aparece el error pero no puedo checar aerror() porque siempre muestra el ultimo error y no se como inicializarla
preguntas : como puedo saber que no se realizo la instruccion update?
asi funcionan todos los drivers odbc ? o solo el de visual
agradesco de antemano la ayuda que me puedan ofrecer pues estoy tratando de hacer un sistema utilizando spt

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

replanteamiento de pregunta

Publicado por alberto (37 intervenciones) el 12/06/2005 20:18:40
como puedo saber cuantos registros fueron afectados con la ejecucion de una instruccion sql insert, update o delete en SPT
ejemplo
sqlexec(piconn,'update clientes set credito=0 where tipo=2')
? como saber cuantos registros fueron acualizados?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas con spt+driver para foxpro

Publicado por David Amador T. (520 intervenciones) el 14/06/2005 21:13:26
No te devuelve error porque no ocurrio ningun error ... solo que no actualiza ningun registro por que el valor del registro ha cambiado.

Los campos datetime no son buenos para simular los campos TimeStamp, puesto que la aproximación de los datetime son de 2 segundos y puede suceder que 2 usuarios actualicen un registro en el mismo segundo ... mientas que el campo TimeStamp es muy aproximado y evita eso.

Lo que necesitarias es determinar cuantos registros fueron modificados en la última sentencia SQL ... con VFP o superior, el comando SQLEXEC te devuelve una matriz con estos datos....

David Amador Tapia
WebMaster "La Web de Davphantom"
www.davphantom.net
Cartagena. Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar