FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Acceder a dbf mediante ado
Posts: 155
Joined: Tue Dec 30, 2008 03:07 AM
Acceder a dbf mediante ado
Posted: Thu Jul 27, 2023 01:54 PM

Hola me podrían decir como hago esta conexión?

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Acceder a dbf mediante ado
Posted: Thu Jul 27, 2023 02:39 PM
Hola Jorge,
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oCn, oRs, aStates

   LOCAL lShowError := .F.

   cPathCnx := "D:\fwh\samples"              
   cSql     := "SELECT * FROM Clients.dbf" 

   if ( oCn := FW_OpenAdoConnection( cPathCnx , lShowError ) ) != nil
      if ( oRs   := FW_OpenRecordSet( oCn, cSql ) ) != nil
         oRs:MoveFirst()

         xBrowse(oRs,"oRs")
         oRs:MoveFirst()

         nCol := 1 
         aStates := ArrTranspose( oRs:GetRows() )[ nCol ]     // *** Toma sólo la nCol columna. Es decir es un array aStates[n,n] *** //
         oRs:MoveFirst()
         oRs:Close()
      else
         ? "Open Table Fail"
      endif
      oCn:Close()
   else
      ? "Connect Fail"
   endif

return aStates
//--------------------------------------------------------------------------------------//

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 155
Joined: Tue Dec 30, 2008 03:07 AM
Re: Acceder a dbf mediante ado
Posted: Thu Jul 27, 2023 02:57 PM

Carlos, gracias por responder.

le puse lShowError := .t. para que muestre el error y me dice que no se encuentra el especifico el nombre del origen de datos y no se especifico ningún controlador predeterminado.

debo instalar un controlador?

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Acceder a dbf mediante ado
Posted: Thu Jul 27, 2023 03:44 PM
No driver or provider need to be installed for using DBFs without FPT files.
The default Jet OLEDB provider that comes bundled with Windows OS is enough.
FWH ADO functions take care of everything for you

Establishing a connection.
Code (fw): Select all Collapse
oCn := FW_OpenAdoConnection( foldername )
Now all DBF tables (not dbfcdx tables having fpt memo files) are available as tables in this connection.

Open any table with
Code (fw): Select all Collapse
oRs := FW_OpenRecordSet( oCn, "states" )
to use states.dbf
OR
Code (fw): Select all Collapse
oRs := FW_OpenRecordSet( oCn, "select first,salary from customer" )
Now deal with the oRs like any other ADO recordset.

For using dbfcdx tables (i.e., dbf tables with fpt memo files), we need to download and install
vfpoledb provider

If you start working we can keep supporting you.
Regards



G. N. Rao.

Hyderabad, India
Posts: 155
Joined: Tue Dec 30, 2008 03:07 AM
Re: Acceder a dbf mediante ado
Posted: Thu Jul 27, 2023 06:54 PM

Mr. Rao, excelente, funciono perfecto.

También necesito usar algunas dbfcdx con memo (dbf y fpt), me podría informar como?

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Acceder a dbf mediante ado
Posted: Fri Jul 28, 2023 02:35 AM
Download and install VFPOLEDB provider from
https://www.microsoft.com/en-us/download/details.aspx?id=32602
and install

After that
open connection object
Code (fw): Select all Collapse
oCn := FW_OpenAdoConnection( { "FOXPRO", cfoldername }, .T.)
Now you can use DBFCDX dbf files with fpt memo files
Regards



G. N. Rao.

Hyderabad, India
Posts: 155
Joined: Tue Dec 30, 2008 03:07 AM
Re: Acceder a dbf mediante ado
Posted: Fri Jul 28, 2023 10:28 AM

Excelente Mr. Rao.

Entonces, de esta manera, podemos usar de la misma forma sql y dbf solo cambiando la cadena de conexión?

Muchas gracias

Continue the discussion