Aplicación Cliente/Servidor

Gisela G.
30 de Julio del 2003
Hola a todos. Estoy desarrollando una aplicación cleinte/servidor, y la base de datos del servidor está bajo Visual foxPro, mi problema es que no se cómo conectarme desde el programa cliente, en visual foxpro, a la base de datos. el sqlexec() es para sql server. qué comando utilizo?

Jorge
30 de Julio del 2003
Hola.. Como estas..!
Mira este es el codigo para conectarte con sqlexec(), primero debes crear un ODBC y luego el resto es puro sql, mira la ayuda eso te servirá mucho
////en el init del form
PUBLIC Nx as Integer
PUBLIC x as Integer
Nx = SQLCONNECT("odbc_php")
IF Nx < 1
ERROR "Conexión no realizada."
ENDIF


consulta----
x=VAL(thisform.text1.Value)
SQLprepare(Nx, 'SELECT * FROM datos;
WHERE cedula=?x', 'mycursor')
SQLEXEC(Nx)

insertar----
u=thisform.text2.Value
y=thisform.text3.Value
z=thisform.text4.Value
SQLPREPARE(Nx, 'INSERT INTO datos(cedula,nombre,telefono);
VALUES(?u,?y,?z)')
SQLEXEC(Nx)

modificar----
u=thisform.text2.Value
y=thisform.text3.Value
z=thisform.text4.Value

SQLPREPARE(Nx, 'SELECT * FROM datos;
WHERE cedula=?u', 'mycursor')
SQLEXEC(Nx)
if(mycursor.cedula!=0) then
SQLPREPARE(Nx, 'UPDATE datos SET nombre=?y, telefono=?z;
WHERE cedula=?u')
SQLEXEC(Nx)
thisform.text2.Value=""
thisform.text3.Value=""
thisform.text4.Value=""
WAIT window("Datos modificados..! Presione una tecla")
ELSE
WAIT window("Cedula no encontrada..! Presione una tecla")
ENDIF

eliminar-----
u=thisform.text2.Value
y=thisform.text3.Value
z=thisform.text4.Value
SQLPREPARE(Nx, 'DELETE * FROM datos WHERE cedula=?u')
SQLEXEC(Nx)

pablocesar
30 de Julio del 2003
Si la base de datos esta en fox, y la aplicación tambien es en fox, la forma de conectarte sería usando directamente los comandos de fox para abrir tablas usando la ruta al servidor.
EJ: USE \SERVERCDATAtabla.dbf
Visual Fox no es un Servidor de Bases de Datos, por lo que el trabajo de conectarse y procesar la información la realiza el cliente, en estos casos el servidor lo único que hace es hospedar los archivos y nada mas.
Espero haber ayudado, sino es así no dudes en consultar nuevamente...saludos.
Pablo César.