La Web del Programador: Comunidad de Programadores
 
    Pregunta:  62377 - ACTUALIZAR TABLAS DE SQL DESDE VFP6
Autor:  Rafael Aldana Flores
Estoy haciendo una aplicacion en VFP6 que consulta algunas tablas de sql, ademas de las dbfs particulares de mi aplicacion
Ya tengo la manera de consultar datos, pero en una tabla de sql es necesario actualizar dos campos uno es character y el otro es numerico
anexo ejemplo del comando de actualizacion, el error ocurre al tratar de ejecutar el comando de sql, porque uno de los datos es numerico, de echo necesito saber la sintaxis correcta, porque se, que debe ser una cadena string
(el tipo de dato en thisform.text2.value es numerico)

wb=thisform.text1.value
wc=thisform.text2.value

if !esta
ww=" insert into proveds(clave,proveedor) values('"+wb+"','"+wc+"')"
** wait wind ww
qn=sqlexec(ncone,ww)
if qn=1
thisform.label1.Caption = 'Inserto un renglon..'
thisform.limpia()
thisform.text1.setfocus
else
thisform.label1.Caption = 'Error en el alta..'+str(qn,5)
endif
else
wcomo="update proveds set proveedor='"+wc+"'"+" where clave='"+wb+"'"
**--- en este punto marca error por no ser una cadena string
***---por la variable wb
qn=sqlexec(ncone,wcomo)
if qn=1
thisform.label1.Caption = 'Actualizo ..'
thisform.limpia()
thisform.text1.setfocus
else
thisform.label1.Caption = 'Error en Actualizacion..'+str(qn,5)
endif
endif

  Respuesta:  Leonardo Zulli
Hola, probaste con hacer

wcomo="update proveds set proveedor='"+ ALLTRIM(STR(wc)) +"'"+" where clave='"+ wb+"'"

STR te permite convertir cualquier valor numerico a String, esto te posibilitaría la concatenación y el ALLTRIM para sacar los espacios, ya que a veces en fox ocurre que quedan espacios al final por lo general.

Espero que te sirva este aporte.