Page 1 of 1

HMG + SQLite

Posted: Wed Apr 10, 2013 9:18 pm
by joposadas
Grupo,

Estoy tratando de hacer un sistema en HMG + SQLite, he visto el ejemplo que esta en HMG pero no tiene lo que necesito, es decir un resultset lo mete en un array y no quiero usar arreglos,

por ejemplo en SQL se usan:
oUnidadesEstaca := TODBC():New(oGsDAM)
LsRS := "SELECT IdUnidad, NombreUnidad FROM Unidades ORDER BY NombreUnidad"
oUnidadesEstaca:SetSql(LsRS)
oUnidadesEstaca:Open()
oUnidadesEstaca:First()
IF LEN (oUnidadesEstaca:aRecordset) > 0
DO WHILE !oUnidadesEstaca:EOF()
Frm_Unidades.Grd_UnidadesEstaca.AddItem ({ oUnidadesEstaca:FieldByName("IdUnidad"):VALUE,+;
oUnidadesEstaca:FieldByName("NombreUnidad"):VALUE })
oUnidadesEstaca:Skip()
ENDDO
ENDIF

y en el ejmplo de SQLite es:
aTable := sql(dbo,"SELECT Name, Address, Adress2 from Administracion ORDER BY Name")
for i := 1 to len(aTable)
aCurRow := aTable
// sample.table.additem({aCurRow[1],str(aCurRow[2]),str(aCurRow[3]),dtoc(aCurRow[4]),iif(aCurRow[5]==1,"True","False"),aCurRow[6]})
sample.table.additem ({ aCurRow[1], aCurRow[2], aCurRow[3] })
next i
if sample.table.itemcount > 0
sample.table.value := 1
endif
sample.table.Refresh
endif

Y lo que quiero evitar es usar arreglos, quiero el ResulSet, algo asi como: oUnidadesEstaca:FieldByName("IdUnidad"):VALUE
y los mismo es para Grabar o borrar,

Si alguno de ustedes ya ha hecho algo con SQLite mucho agradeceré me ayude ya que tengo sistemas pendientes por desarollar.

De antemano muchas gracias,

PD mi correo personal es: jorge.posadas@gmail.com

Re: HMG + SQLite

Posted: Wed Apr 10, 2013 10:56 pm
by danielmaximiliano
Hola Jorge :
Tienes muchos ejemplos para ello.
mira el ejemplo de Harbour 3.0 C:\harbour\contrib\hbodbc\tests\odbccall.prg
y C:\MiniGUI\SAMPLES\BASIC\Firebird\Demo.prg

necesitas trabajar con Objetos para acceder los datos de una tabla OBDC

Re: HMG + SQLite

Posted: Wed Apr 10, 2013 11:31 pm
by joposadas
Daniel,

Agradezco tu sugerencia, pero sigue siendo lo mismo, es decir, siempre el resultset lo graban en un array y es eso precisamente lo que NO deseo hacer.

Re: HMG + SQLite

Posted: Thu Apr 11, 2013 1:16 am
by danielmaximiliano
joposadas wrote:Daniel,

Agradezco tu sugerencia, pero sigue siendo lo mismo, es decir, siempre el resultset lo graban en un array y es eso precisamente lo que NO deseo hacer.
aqui no hay ningĂșn arreglo

Code: Select all

#require "hbodbc"

PROCEDURE Main()

   LOCAL dsFunctions := TODBC():New( "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" )

   dsFunctions:SetSQL( "SELECT * FROM test" )
   dsFunctions:Open()
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:Skip()
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:GoTo( 1 )
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:Prior()
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:First()
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:Last()
   ? dsFunctions:FieldByName( "First" ):Value
   ? dsFunctions:Close()

   dsFunctions:Destroy()

   RETURN
puedes tambien usar Classes, mira este ejemplo de FW en http://fivetechsupport.com/forums/viewt ... =6&t=18887

Re: HMG + SQLite

Posted: Thu Apr 11, 2013 2:50 am
by joposadas
Daniel,

Efectrivamente ahi no hay ningĂșn arreglo y de hecho yo ya he hecho aplicaciones con HMG + MS-SQL y con HMG + Access y todo ha funcionado bien.

El problema que tengo es al intentar usar HMG + SQLite, ahi si he visto ejemplos y todos usan arreglos pero yo no deseo usar arreglos, quiero usar asi como me copiaste el ejemplo:

dsFunctions:FieldByName( "First" ):Value <---- algo asi para usarse con SQlite.