FoxPro/Visual FoxPro - Ayuda...

 
Vista:

Ayuda...

Publicado por Javier Vega O. (18 intervenciones) el 03/09/2009 00:13:27
Buenas tardes a todos.

Si alguien sabe como conectar una base de datos de SqlServer desde VisualFoxpro 6.0 o 9.0.

La idea es desde un formulario de VisualFoxpro poder actualizar una tabla de SqlServer.

Les agradezco la colaboracion.
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

RE:Ayuda...

Publicado por Oscar Ramirez (38 intervenciones) el 03/09/2009 03:16:53
este es un ejemplo desde fox 9

*SQLXSAECOM =SQLSTRINGCONNECT("Driver={SQLServer};Server=MISERVIDORDEDATOS;Database=MIBD;Uid=MIUSUARIO;Pwd=MICLAVE;")*

_SQL = "INSERT INTO MITABLASQL (Identificacion,Nombre,Apellidos,Direcion) VALUES('"+thisform.text1.value+"','"+thisform.text2.value+"','"+thisform.text3.value+"','"+thisform.text4.value+"')"
SQLEXEC(SQLXSAECOM,_SQL)
SQLDISCONNECT(SQLXSAECOM)

las primeras 3 lineas que estan marcadas con * van en una sola linea...

espero que te sirva.

aqui estoy insertando informacion desde un formulario de fox 9.

esto funciona...
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
sin imagen de perfil

RE:Ayuda...

Publicado por juan286 (185 intervenciones) el 03/09/2009 13:37:23
Bueno bueno la verdad debes crear varias cosas los de arriba del ejemplo de Oscar son los correcto ahora comienzo lo divertido y es la conexion del mismo al servidor comienza a crear un DNS

sin conexion al DNS
lcServer="Direccion del servidor"
lcDtabase="Nombre vase datos"
lcUser="id usuraio"
lcPassword="contraseña"
lcStringConn="Driver={MySQL ODBC 3.51 Driver};port=3306"+;
";server="+lcServer+;
";Database="+lcDtabase+;
";Uid="+lcUser+;
";Pwd="+lcPassword

*el código siguiente evita que aparezca la ventana de login
SQLSETPROP(0,"DispLogin",3)
lnHandle=SQLSTRINGCONNECT(lcStringConn)
IF lnHandle>0
MESSAGEBOX("conexión realizada")
ELSE
=AERROR(laError)
MESSAGEBOX("Error de conexión"+CHR(13)+"descripción:"+laError[2])
ENDIF

El DNS
DECLARE Integer SQLConfigDataSource in odbccp32.dll;
Integer, Integer, String, String
#DEFINE ODBC_ADD_DSN 1
hwndParent = 0
fRequest = ODBC_ADD_DSN
lpszDriver = "MySQL ODBC 3.51 Driver"
lpszAttributes = "DSN=UAMMANTE" + CHR(0) +;
"Description=Conexión con MySQL usando ODBC" + CHR(0) +;
"DATABASE=titulacion1_refaccionaria" + CHR(0) +;
"SERVER=148.237.193.68"+ CHR(0) +;
"UID=titulacion1" + CHR(0) +;
"PWD=titulacion1"
LOCAL lRet
lRet = SQLConfigDataSource(hwndParent, fRequest,;
lpszDriver, lpszAttributes)
IF lRet > 0 THEN
?"DSN creado!!"
ELSE
?"Error al crear"
ENDIF

Ejemplo de cmo se actaliza una tabla
clear
cadena="202"
cadena2="bomba de agua "
cadena3="lkii"
cadena4="linea k 82-88 4 cil 2.2.2.5"
cadena5="178.80"
cadena6=""
cadena7=""
lcadena="UPDATE articulos SET descripcion=" + "'" +cadena2+ "'" +",";
+"aplicacion=" + "'" +cadena3+ "'" + ",";
+"equivalencia="+ "'" +cadena4+ "'" + ",";
+"precio=" +cadena5+ "," ;
+"disponible=" + "'"+cadena6+"'" + "," ;
+"marca="+"'"+cadena7+"'"+" WHERE articulos.clave_articulo="+cadena
?lcadena
?SQLEXEC(hCnxMySQL,lcadena)
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:Ayuda...

Publicado por Javier Vega O. (18 intervenciones) el 09/09/2009 16:02:23
Gracias Juan, excelente ayuda.

Ahora quisiera en un objeto Combo Box mostrar el contenido de una tabla de SqlServer que tiene dos campos: un codigo y una descripcion. Lo anterior para poder seleccionar un registro cualquiera.

Si me puedes colaborar, te lo agradezco.

Gracias.
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:Ayuda...

Publicado por Javier Vega O. (18 intervenciones) el 09/09/2009 15:54:52
Gracias Oscar, excelente ayuda.

Ahora quisiera en un objeto Combo Box mostrar el contenido de una tabla de SqlServer que tiene dos campos: un codigo y una descripcion. Lo anterior para poder seleccionar un registro cualquiera.

Si me puedes colaborar, te lo agradezco.

Gracias.
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