De sql a dbf

Post Reply
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

De sql a dbf

Post by JoseAlvarez »

Saludos amigos foreros.

Alguien tiene algun ejemplo de como llevar los datos resultantes de una consulta sql a una dbf?

La idea es generar reportes desde esa dbf.

Gracias por las ideas que puedan aportarme.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: De sql a dbf

Post by karinha »

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
leandro
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: De sql a dbf

Post by leandro »

Hola como vas?

Con ADO lo hacemos de la siguiente manera:

Code: Select all | Expand

    cQry := "SELECT * FROM tu_tabla"
    oRs := FW_OPENRECORDSET(oCn,cQry,adLockOptimistic,adOpenKeyset)
    FW_AdoExportToDBF( oRs , ".\dbfs\elresultado.dbf" , .F. )
    oRs:close()

       De aqui en adelante haces el resto del informe.
       Utilizando esta técnica se acelera de manera asombrosa el proceso de generación de informes
       sobre todo cuando estas trabajando en un servidor remoto
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: De sql a dbf

Post by JoseAlvarez »

Gracias joao, voy a darle un vistazo.

Leandro, muchas gracias. No uso ADO. Uso tdolphin.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: De sql a dbf

Post by cmsoft »

Hola Jose:
En los samples de DOLPHIN tienes un ejemplo

Code: Select all | Expand

#include "tdolphin.ch"

FUNCTION Main()
  
   LOCAL oServer, oQry
   LOCAL oExp, cTime
  
   D_SetCaseSensitive( .T. )
   
   IF ( oServer := ConnectTo() ) == NIL
      RETURN NIL
   ENDIF
   cls
   oQry = oServer:Query( "SELECT * FROM clientes" )
   
   oExp = oQry:Export( EXP_DBF, "client.dbf" )
   oExp:bOnStart = { || QOut( "Started..."), QOut( ""), cTime := Time() }
   oExp:bOnRow = {| o, n | ShowLine( n, oQry:LastRec() ) }
   oExp:bOnEnd = { || QOut( "Elapse time: " + ElapTime( cTime, Time() ) ), QOut( "Finished...") }
   
   oExp:Start()
   
RETURN NIL


PROCEDURE ShowLine( n, nTotal )

@ Row(),1 say Str( n / nTotal * 100 ) + "%"

RETURN
 
jair
Posts: 57
Joined: Sun Aug 27, 2017 7:18 pm

Re: De sql a dbf

Post by jair »

Code: Select all | Expand


oCn   := FW_DemoDB()  // Maria db nativo 
//  oCn := Maria_Connect( {cHost, "", cUser, cPass } )
//FWCONNECT oCn HOST "localhost" USER "root" PASSWORD "secret" DB "fwh"


cSql  := "SELECT * FROM minhatabela"
   oCn:SaveToDBF( cSql, "c:\temp\TEMP.DBF" )
   OU 
   cFile := Get_File()
   oCn:SaveToDBF( cSql, cFile )
 
Last edited by jair on Wed Aug 02, 2023 9:27 pm, edited 2 times in total.
User avatar
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: De sql a dbf

Post by cmsoft »

jair wrote:

Code: Select all | Expand

cSql  := "SELECT * FROM minhatabela"
   oCn:SaveToDBF( cSql, "c:\temp\TEMP.DBF" )
   OU 
   cFile := Get_File()
   oCn:SaveToDBF( cSql, cFile )
 
No veo el metodo SaveToDbf en la clase TDolphin, existe?
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: De sql a dbf

Post by JoseAlvarez »

Gracias César, gracias Jair.

Muchas gracias a todos.

Voy a probar y estaré comentando los resultados.

Un abrazo.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: De sql a dbf

Post by nageswaragunupudi »

Running SQL query directly from DBF
Please try these samples.
You can do a lot more

Code: Select all | Expand

cFolder := "c:\fwh\samples\"
oCn := FW_OpenAdoConnection( cFolder )
oRs := FW_OpenRecordSet( oCn, "SELECT ID,FIRST,CITY,SALARY FROM CUSTOMER" )
XBROWSER  oRs AUTOSORT
oRs:Close()
oCn:Close()
Another example:

Code: Select all | Expand

cFolder := "c:\fwh\samples\"
oCn := FW_OpenAdoConnection( cFolder )
oRs := FW_OpenRecordSet( oCn, ;
   "SELECT [STATE],SUM(SALARY) AS SALARY FROM CUSTOMER GROUP BY STATE" )
XBROWSER  oRs AUTOSORT
oRs:Close()
oCn:Close()
Regards

G. N. Rao.
Hyderabad, India
Post Reply