Estimados:
Para comentarles, que se me present贸 un desarrollo de Interfaz de exportar datos de BD Progress hac铆a PostgreSql, el asunto es ten铆a que juntar informaci贸n contenida en varias tablas y exportar a las de PostgreSql pero resumidas, para lo cual hice mano de Visual Foxpro 9 ... y bueno la programaci贸n es muy similar a FW y Harbour/xHarbour.
En VFP existe esta funci贸n: SQLEXEC es muy potent铆sima pues permite mediante SQL atacar cualquier BD y devuelve cursores que pueden manejarse como Cursores propiamente dichos y tambi茅n como tablas DBF a las cuales incluso se pueden crear 铆ndices, hacer b煤squedas, append, reclock, etc.
Aqu铆 pongo una porci贸n del c贸digo empleado para ver si con FW se puede hacer o tratar de encontrar algo similar.
- En cuanto a TEXT TO ... he probado con FW y funciona correctamente y est谩 muy bueno pues evita la fatiga de estar concatenando la cadena de la consulta.
- En el c贸digo mostrado, la instrucci贸n: SQLEXEC(nBdFe,cQry,"oRstmpdet") hace la consulta a la BD contenida en la variable cQry y el resultado es un Recordset (el nombre puede ser distinto al mostrado).
- El Recordset devuelto - en este caso se llama "oRstmpdet"- se puede manipular como si fuera una tabla DBF.
- En este caso el Recordset existe mientras la conexi贸n est谩 activa, y se elimina autom谩ticamente cuando se cierra la conexi贸n
Ejemplo 1:
Ac谩 otro ejemplo de SQLEXEC en donde se puede copiar el Recordset a una tabla DBF 茅 incluso la crea en una carpeta del Disco duro.
Ejemplo 2:
驴Existe alguna funci贸n de FW similar a SQLEXEC ?.
Saludos.
Atte.
Lucho Montero.
Lima - Per煤.
---------------------------------------------------------------------------------------------
FW + xHarbour 1.2.3 + ADO + Borland C 5.8.2
Para comentarles, que se me present贸 un desarrollo de Interfaz de exportar datos de BD Progress hac铆a PostgreSql, el asunto es ten铆a que juntar informaci贸n contenida en varias tablas y exportar a las de PostgreSql pero resumidas, para lo cual hice mano de Visual Foxpro 9 ... y bueno la programaci贸n es muy similar a FW y Harbour/xHarbour.
En VFP existe esta funci贸n: SQLEXEC es muy potent铆sima pues permite mediante SQL atacar cualquier BD y devuelve cursores que pueden manejarse como Cursores propiamente dichos y tambi茅n como tablas DBF a las cuales incluso se pueden crear 铆ndices, hacer b煤squedas, append, reclock, etc.
Aqu铆 pongo una porci贸n del c贸digo empleado para ver si con FW se puede hacer o tratar de encontrar algo similar.
- En cuanto a TEXT TO ... he probado con FW y funciona correctamente y est谩 muy bueno pues evita la fatiga de estar concatenando la cadena de la consulta.
- En el c贸digo mostrado, la instrucci贸n: SQLEXEC(nBdFe,cQry,"oRstmpdet") hace la consulta a la BD contenida en la variable cQry y el resultado es un Recordset (el nombre puede ser distinto al mostrado).
- El Recordset devuelto - en este caso se llama "oRstmpdet"- se puede manipular como si fuera una tabla DBF.
- En este caso el Recordset existe mientras la conexi贸n est谩 activa, y se elimina autom谩ticamente cuando se cierra la conexi贸n
Ejemplo 1:
聽 聽 聽 cQry := " "
聽 聽 聽 TEXT TO cQry NOSHOW TEXTMERGE PRETEXT 1+2+4+8
聽 聽 聽 聽 聽 SELECT fedetalle.tipodoc, fedetalle.tipoletra, fedetalle.seriedoc, fedetalle.numerodoc, fedetalle.nroitem
聽 聽 聽 聽 聽 FROM fedetalle
聽 聽 聽 聽 聽 WHERE fedetalle.tipodoc = '<<ALLTRIM(cTipodoc)>>' AND
聽 聽 聽 聽 fedetalle.tipoletra = '<<cTipoletra>>' AND
聽 聽 聽 聽 fedetalle.seriedoc = <<cSeriedoc>> AND
聽 聽 聽 聽 聽 聽 聽 聽 fedetalle.numerodoc= <<nNnumerodoc>> AND
聽 聽 聽 聽 聽 聽 聽 聽 fedetalle.nroitem = <<nNroitem>>
聽 聽 聽 ENDTEXT
聽 聽 聽 SQLEXEC(nBdFe,cQry,"oRsCab")
聽 聽 聽 GO TOP
聽 聽 聽 DO WHILE NOT EOF()
聽 聽 聽 聽 聽 聽 聽....
聽 聽 聽 聽 聽 聽 聽....Ac谩 otro ejemplo de SQLEXEC en donde se puede copiar el Recordset a una tabla DBF 茅 incluso la crea en una carpeta del Disco duro.
Ejemplo 2:
聽 聽 聽 cQry := " "
聽 聽 聽 TEXT TO cQry NOSHOW TEXTMERGE PRETEXT 1+2+4+8
聽 聽 聽 聽 聽 SELECT fedetalle.tipodoc, fedetalle.tipoletra, fedetalle.seriedoc, fedetalle.numerodoc, fedetalle.nroitem
聽 聽 聽 聽 聽 FROM fedetalle
聽 聽 聽 聽 聽 WHERE fedetalle.tipodoc = '<<ALLTRIM(cTipodoc)>>' AND
聽 聽 聽 聽 fedetalle.tipoletra = '<<cTipoletra>>' AND
聽 聽 聽 聽 fedetalle.seriedoc = <<cSeriedoc>> AND
聽 聽 聽 聽 聽 聽 聽 聽 fedetalle.numerodoc= <<nNnumerodoc>> AND
聽 聽 聽 聽 聽 聽 聽 聽 fedetalle.nroitem = <<nNroitem>>
聽 聽 聽 ENDTEXT
聽 聽 聽 cmdcab = SQLEXEC(nBdFe,cQry,"oRsCab")
聽 聽 聽 COPY TO .\DATA\cabecera.dbf
聽 聽 聽 SELECT 1
聽 聽 聽 USE cabecera SHARED ALIAS cabecera
聽 聽 聽 INDEX ON tipodoc+tipoletra+seriedoc+numerodoc TO .\DATA\cabecera
聽 聽 聽 GO TOP
聽 聽 聽 DO WHILE NOT EOF()
聽 聽 聽 聽 聽 聽 聽....
聽 聽 聽 聽 聽 聽 聽....驴Existe alguna funci贸n de FW similar a SQLEXEC ?.
Saludos.
Atte.
Lucho Montero.
Lima - Per煤.
---------------------------------------------------------------------------------------------
FW + xHarbour 1.2.3 + ADO + Borland C 5.8.2