He estado bastantes horas intentando solucionar un error al actualizar un record set. Utlilizo SQlite y ADO. Lo pondré aquí por si le pasa a más gente, ya que no lo he encontrado en el foro. El problema me daba al hacer oRs:update() cuando el campo era tipo "float" y previamente tenía un valor guardado con bastantes decimales, por ejemplo si haces 10/3 y lo guardas en el campo. La siguiente vez que fueras a hacer un "oRs:update" en ese campo obtenía este error:
Error description: Error adodb.recordset/3 DISP_E_MEMBERNOTFOUND: UPDATE
Esto me impedía trabajar con datos grabados con php. Lo he solucionado modificando una clase que tengo y usando directamente el execute de SQL
- Code: Select all Expand view RUN
local estoy := ::oRs:fields("_id"):value
...
cad:= <los campos que se necesiten actualizar separados por comas, p.e: campo1=valor1,campo2=valor2, etc .. >
....
App():oCon:Execute("update "+::cTabla+" set "+cad+" where _id="+str(estoy)+" " )
::oRs:requery()
::oRs:moveFirst()
::oRs:Find( "_id = "+sc(estoy)+" ")
No sé si en las últimas versiones de TRecordSet estará solucionado.
Un saludo,
Alvaro