FoxPro/Visual FoxPro - ¡Ayuda! con coidgos tipo char y boton guardar

 
Vista:

¡Ayuda! con coidgos tipo char y boton guardar

Publicado por Forest (1 intervención) el 06/06/2006 01:04:46
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 ^-^.
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
Imágen de perfil de quico

RE:¡Ayuda! con coidgos tipo char y boton guardar

Publicado por quico (23 intervenciones) el 06/06/2006 02:49:08
Lo que esta ocurriendo es debes ponerlo de esta forma:
ponerle comillas simples ''
wvalor="select * from puestos where codigo='"+ALLTRIM(thisform.wCodigo.Value) +"' "
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