Bueno, he hecho un ODBC para conectar SQL Server con VFP, y necesito hacer unos formularios (para la escuela jeje
), y tengo dos problemas específicos:
1.- Si tengo una tabla donde el código es de tipo Char, el formulario no me trae los registros que debería, y si le pongo numericos si funciona, aquí les dejo un ejemplo para ver si me pueden ayudar:
PRIVATE wvalor
wvalor="select * from puestos where codigo="+ALLTRIM(thisform.wCodigo.Value)
SQLEXEC(thisform.conexion,wvalor)
thisform.wdescripcion.Value=sqlresult.descripcion
thisform.wsueldo.Value=sqlresult.sueldo
IF RECCOUNT('sqlresult')>0
thisform.eliminar.Enabled=.T.
ENDIF
La tabla es puestos y los campos son Codigo (char), descripcion (varchar) y sueldo (smallmoney). El error que me aparece es que no encuentra el alias sqlresult y a veces que no encuantra las variables "descripcion" ni "suelo".
He revisado y el ODBC está bien hecho y la conexion no falla.
2.- Al crear un botón guardar no se darle update o insert a los valores booleanos.
Aquí les dejo el código, es de una tabla llamada Clientes, y los campos son: codigo(numerico), nombre(varchar), dir(varchar), tel(varchar), credito(BIT) y debe(smallmoney)
PRIVATE WVALOR,WVALOR2
wvalor="INSERT INTO CLIENTES (cod,nombre,dir,tel,credito,debe) VALUES "
wvalor2="("+ALLTRIM(STR(thisform.wcodigo.value))+",'"+ALLTRIM(thisform.wnombre.value)+"','"+;
ALLTRIM(thisform.wdireccion.Value)+"','"+ALLTRIM(thisform.wtelefono.Value)+"',"+;
"'false',0)"
IF SQLEXEC(thisform.conexion,wvalor+wvalor2)<1
wvalor="UPDATE CLIENTES SET nombre='"+ALLTRIM(thisform.wnombre.value)+"',"+;
"dir='"+ALLTRIM(thisform.wdireccion.Value)+"',"+;
"tel='"+ALLTRIM(thisform.wtelefono.Value)+"',"+;
"credito='"+ALLTRIM(thisform.wcredito.Value)+"'"
wvalor2=" WHERE cod="+ALLTRIM(STR(thisform.wcodigo.value))
IF SQLEXEC(thisform.conexion,wvalor+wvalor2)<1
MESSAGEBOX("No se pudo actualizar el registro",16)
ENDIF
ELSE
MESSAGEBOX("No se pudo actualizar el registro",16)
ENDIF
THISFORM.wcodigo.SETFOCUS
El error dice algo como: function argument value, type, or count is invalid. Estoy casi seguro de que es por la forma que dí update o insert al campo Credito(que es el que es BIT)
La verdad no se mucho de esto así que si pudieran hablarme lo mas claro posible se los agradecería, o si me pueden corregir el código que pegué, mejor ^-^.