FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con TDolphin
Posts: 147
Joined: Tue Oct 11, 2005 08:22 PM
Ayuda con TDolphin
Posted: Wed Jun 26, 2013 05:45 PM

Hola compañeros:

Estoy cambiando una aplicacion que utilizaba Eagle a Dolphin, pero necesito saber si en Dolphin existe ya algun array donde se encuentre el resultado de una consulta o forzosamente debo hacer aArray := oQuery:FillArray()?? Ya busque en el codigo pero no encuentro nada y como soy nuevo en Dolphin ando un poco perdido y quiero ahorrarme algunas lineas de codigo haciendolo directamente como lo hacia antes con Eagle.

Saludos y gracias

LCP Eduardo Borondón Muñiz

Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: Ayuda con TDolphin
Posted: Wed Jun 26, 2013 07:33 PM
Eduardo,

lo puedes ver en testfill.prg de los samples de dolphin :

Code (fw): Select all Collapse
   oQry = TDolphinQry():New( "SELECT * FROM testman", oServer )
   aData = oQry:FillArray(, { "name", "last", "birth" } )
   ? "Array filled"
   ? "Total Items:" + Str( Len( aData ) )
   oQry:SetLimit( 10 )
   oQry:GoTop()
   aData = oQry:FillArray( { | aRow | qout( aRow[ 2 ] ) } )
   ? "Change Limit to 10, Array filled"
   ? "Total Items:" + Str( Len( aData ) )
   ?


de todos modos tienes el metodo en tdolpqry.prg :

METHOD FillArray( bOnFillArray, aColumns ) CLASS TDolphinQry

Espero te sirva,
Salu2, Ariel
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Ayuda con TDolphin
Posted: Wed Jun 26, 2013 07:39 PM
Hola

Debes llamar al metodo fillarray cuando asi lo requieras, la ventaja de hacerlo de esa forma es que no hace falta hacer el recorrido de toda la una consulta si no lo necesitas, no generara un arreglo de registros si no lo necesitas, ejemplo si el resultado de la consulta es muy grande no tienes pq esperar a que retorne todos los datos de la misma para processar

si quieres ahorrarte esa linea de codigo, puedes crear una funcion propia que ejecute la sentencia y te retorne un arreglo

Code (fw): Select all Collapse
function myquery(oServer, cQuery)
   local aDatos
   local oQry
   
   oQry = oServer:Query(cQuery)

   aDatos = oQry:FillArray()

   oQry:End()

return aDatos
Posts: 147
Joined: Tue Oct 11, 2005 08:22 PM
Re: Ayuda con TDolphin
Posted: Thu Jun 27, 2013 02:55 PM

Gracias por contestar, así lo había implementado, solo que pensé que internamente ya tendría un arreglo y yo lo estaba duplicando, muchas gracias por la respuesta.

Saludos y gracias a ambos

LCP Eduardo Borondón Muñiz

Continue the discussion