Siendo un programador de Visual FoxPro9, aún sigo usando las tablas DBF, es una costumbre de años y que no se me va a quitar de la noche a la mañana. Las tablas DBF son el método más fácil en que nosotros podemos almacenar y recuperar información en un formulario.
Es por eso que aún usando Windev, siempre vamos a necesitar acceder a una tablita DBF bien sea para importar, exportar, leer o escribir información.
Aquí les dejo un ejemplo de cómo acceder a una DBF usando el proveedor OLE DB que viene con Visual FoxPro.
*NOTA: necesitas instalar el provedor OLE DB en las máquinas de tus clientes, así que te dejo el link de descarga.
// -- Conectarse a una tabla libre DBF usando el
proveedor OLEDB de VisualFoxPro
ctVFPConn is
Connection
ctVFPConn..Source = "C:\my\path\to\usuarios.dbf"
ctVFPConn..Access = hORead
ctVFPConn..Provider = "VFPOLEDB.1"
IF NOT HOpenConnection(ctVFPConn) THEN
Error(HErrorInfo())
RETURN
END
// En éste punto ya estamos "conectados" a
la tabla.
// ahora vamos a realizar alguna consulta
dsCurUsuarios is
Data Source // Esto vendria
siendo como un cursor.
IF NOT HExecuteSQLQuery(dsCurUsuarios,ctVFPConn,hQueryWithoutCorrection,"SELECT * FROM
usuarios")
THEN
Error(HErrorInfo())
RETURN
END
// Recorrer el data source (cursor)
HReadFirst(dsCurUsuarios) // GO TOP
WHILE HOut(dsCurUsuarios) = False
Info(dsCurUsuarios.email) // MESSAGEBOX(curUsuarios.email)
HReadNext(dsCurUsuarios) // SKIP 1 IN curUsuarios
END
Info(HNbRec(dsCurUsuarios)) // MESSAGEBOX(RECCOUNT('curUsuarios'))
HClose(dsCurUsuarios)
Una traducción de éste código al VFP sería:
USE "C:\my\path\to\usuarios.dbf"
ALIAS
curUsuarios
SCAN
MESSAGEBOX(curUsuarios.email)
ENDSCAN
MESSAGEBOX(RECCOUNT('curUsuarios'))
USE IN curUsuarios
No hay comentarios:
Publicar un comentario