ayuda con FWMariadb y fastreport (Resuelto)

Post Reply
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

ayuda con FWMariadb y fastreport (Resuelto)

Post by jose_murugosa »

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.
Last edited by jose_murugosa on Thu May 19, 2022 6:40 pm, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
Compuin
Posts: 1250
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: ayuda con FWMariadb y fastreport

Post by Compuin »

Hola Jose, yo lo hago asi y me funciona perfecto

El equivalente es oRs:RecCount()

Code: Select all | Expand


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 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Re: ayuda con FWMariadb y fastreport

Post by jose_murugosa »

Muchísimas gracias.
Ya pruebo!!
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con FWMariadb y fastreport (Resuelto)

Post by carlos vargas »

Code: Select all | Expand


for x := 1 to oRs:RecCount()
me parece que seria
for x := 1 to oRs:FCount()
 



Code: Select all | Expand

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)
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: ayuda con FWMariadb y fastreport (Resuelto)

Post by nageswaragunupudi »

Code: Select all | Expand

FW_ArrayAsList( ArrTranspose( oRs:aStructure )[ 1 ], ";" )
 
Regards

G. N. Rao.
Hyderabad, India
Post Reply