FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ayuda con FWMariadb y fastreport (Resuelto)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
ayuda con FWMariadb y fastreport (Resuelto)
Posted: Thu May 19, 2022 01:17 PM

Queridos compañeros,
Quisiera utilizar el método setuserdataset() para establecer un area de trabajo con un Rowset de la clase nativa de FWH para MariaDb.

Con dolphin sería así:

oApp:oFr:SetUserDataSet( "Cheques", MySqlFields( oCheques ),; // "fecven;feegre;nroche;desbanc;desplaza;destino;importe",;
{|| oCheques:GoTop() },;
{|| oCheques:Skip(1) },;
{|| oCheques:Skip(-1) },;
{|| oCheques:EoF() },;
{|nField| oCheques:FieldGet( nField ) })

MySqlFields( oCheques ) devuelve un array con los nombres de todas las columnas del recordset, ¿Cuál sería el equivalente en FWMariadb?
Lo busqué en la documentación, supongo que debe estar, pero no lo encontré.

Gracias desde ya por vuestra atención.

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: ayuda con FWMariadb y fastreport
Posted: Thu May 19, 2022 02:30 PM
Hola Jose, yo lo hago asi y me funciona perfecto

El equivalente es oRs:RecCount()

Code (fw): Select all Collapse
STATIC function Freporte( oRs )

   LOCAL oFr

   oFr := frReportManager():New()
   oFr:LoadLangRes( "Spanish.xml" )


   oFr:SetUserDataSet( "ALMACEN", mysqlfields(oRs),;
                         {|| oRs:GoTop()  },;
                         {|| oRs:Skip(1)  },;
                         {|| oRs:Skip(-1) },;
                         {|| oRs:EoF()    },;
                         {| aField| oRs:FieldGet( aField ) })

   oFr:SetTitle( "Diseñador de Informes" )

   WITH OBJECT oFr
         :SetIcon( 1 )
      IF .NOT. oFr:LoadFromFile("C:\clinicaFWH\Reportes\Almacen.Fr3")
         MsgInfo("Problema cargando el Reporte de Almacenes")
         :DesignReport()
      ELSE
         :PreviewOptions:SetButtons(1+8+16+32+128+256+1024)
         :PreviewOptions:SetMaximized(.f.)
         :ShowReport()
         :ClearDataSets()
         :DestroyFR()
      ENDIF
   END

RETURN NIL

STATIC FUNCTION mysqlfields( oRs )
   Local clField := ""

   nLen := oRs:RecCount()

   for x := 1 to oRs:RecCount()
      clField := clField + oRs:FieldName( x ) + iif( x < nLen ,";","" )
   Next

Return clField

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: ayuda con FWMariadb y fastreport
Posted: Thu May 19, 2022 02:41 PM

Muchísimas gracias.
Ya pruebo!!

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ayuda con FWMariadb y fastreport (Resuelto)
Posted: Sat May 21, 2022 01:26 AM
Code (fw): Select all Collapse
for x := 1 to oRs:RecCount()
me parece que seria
for x := 1 to oRs:FCount()



Code (fw): Select all Collapse
FUNCTION MySqlFields( oQry )
   LOCAL cFields := ""
   LOCAL i, nLen

   FOR i := 1 TO oQry:FCount()
      cFields += oQry:FieldName( i ) + ";"
   NEXT

   cFields := hb_StrShrink( cFields )

RETURN cFields
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: ayuda con FWMariadb y fastreport (Resuelto)
Posted: Sat May 21, 2022 01:48 PM
Code (fw): Select all Collapse
FW_ArrayAsList( ArrTranspose( oRs:aStructure )[ 1 ], ";" )
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion