FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour [mysql] C贸mo hago para Resultado de select pasado a array
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
[mysql] C贸mo hago para Resultado de select pasado a array
Posted: Fri Oct 10, 2008 03:39 PM

gente.

Como hago para que usando TMYSQL el resultado despues de hacer:

Select * from clientes

lo transfiera a un arra para poder manejarlo?

Gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
[mysql] C贸mo hago para Resultado de select pasado a array
Posted: Fri Oct 10, 2008 08:14 PM
Amigo creo que es lo que necesitas... este codigo me lo paso william morales hace ya un buen tiempo...

STATIC FUNCTION connect()
       lExit := .f.
       oServer := TMySQLServer():New( cHost,cUsuario,cPassword,nPuerto )
       if oServer:NetErr()
          Alert(oServer:Error(),"Se gener贸 error")
          lExit := .t.
          RETURN NIL
       endif
       IF !(oServer:DBExist(cDBName))
          ? "La base de datos no existe, avise al administrador...."
          oServer:END()
          lExit := .t.
          RETURN NIL
       ENDIF
       oServer:SelectDB( cDBName )
       aStruc := oServer:TableStruct( cTBName )
       oQuery := oServer:Query( "SELECT * from " + cTBName )
       IF oQuery:nNumRows > 0
          aSample := Array( oQuery:nNumRows )
          WHILE nI <= oQuery:nNumRows
                aSample[ nI ] := ARRAY( oQuery:nNumFields )
                oQuery:GETROW( nI )

                FOR nJ := 1 TO oQuery:nNumFields
                    aSample[ nI ][ nJ ] := oQuery:Fieldget( nJ )
                NEXT
                nI++
          Enddo
       ELSE
          aSample := {}
          aCol := {}
          FOR nJ := 1 TO oQuery:nNumFields
              AADD(aCol," ")
          NEXT
          AADD(aSample,aCol)
          lExit := .f.
          lExit := .f.
       ENDIF
RETURN NIL
//
STATIC FUNCTION arrayxBrowse( )
   LOCAL oWnd,oBrw,oCol,x
   //**
   DEFINE WINDOW oWnd TITLE "Mostrando mysql con xBrowse"
          oBrw := TXBrowse():New( oWnd )
          oBrw:SetArray( aSample, .t. )
          FOR x := 1 TO oQuery:nNumFields
              oBrw:aCols[x]:cHeader := aStruc[x,1]
          NEXT
          oBrw:lHScroll := .t.
          oBrw:lVScroll := .t.
          oBrw:nFreeze  := 1
          oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
          oBrw:CreateFromCode()
          oWnd:oClient := oBrw
   ACTIVATE WINDOW oWnd ON INIT oBrw:SetFocus()
   RELEASE oWnd,oBrw,oCol,x
RETURN NIL


espero te sirva
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
[mysql] C贸mo hago para Resultado de select pasado a array
Posted: Fri Oct 10, 2008 10:31 PM
Estimado. Un espectaculo. Pense que habia algo mas directo como un ARRAY:= OQUERY.

leandro wrote:Amigo creo que es lo que necesitas... este codigo me lo paso william morales hace ya un buen tiempo...

STATIC FUNCTION connect()
       lExit := .f.
       oServer := TMySQLServer():New( cHost,cUsuario,cPassword,nPuerto )
       if oServer:NetErr()
          Alert(oServer:Error(),"Se gener贸 error")
          lExit := .t.
          RETURN NIL
       endif
       IF !(oServer:DBExist(cDBName))
          ? "La base de datos no existe, avise al administrador...."
          oServer:END()
          lExit := .t.
          RETURN NIL
       ENDIF
       oServer:SelectDB( cDBName )
       aStruc := oServer:TableStruct( cTBName )
       oQuery := oServer:Query( "SELECT * from " + cTBName )
       IF oQuery:nNumRows > 0
          aSample := Array( oQuery:nNumRows )
          WHILE nI <= oQuery:nNumRows
                aSample[ nI ] := ARRAY( oQuery:nNumFields )
                oQuery:GETROW( nI )

                FOR nJ := 1 TO oQuery:nNumFields
                    aSample[ nI ][ nJ ] := oQuery:Fieldget( nJ )
                NEXT
                nI++
          Enddo
       ELSE
          aSample := {}
          aCol := {}
          FOR nJ := 1 TO oQuery:nNumFields
              AADD(aCol," ")
          NEXT
          AADD(aSample,aCol)
          lExit := .f.
          lExit := .f.
       ENDIF
RETURN NIL
//
STATIC FUNCTION arrayxBrowse( )
   LOCAL oWnd,oBrw,oCol,x
   //**
   DEFINE WINDOW oWnd TITLE "Mostrando mysql con xBrowse"
          oBrw := TXBrowse():New( oWnd )
          oBrw:SetArray( aSample, .t. )
          FOR x := 1 TO oQuery:nNumFields
              oBrw:aCols[x]:cHeader := aStruc[x,1]
          NEXT
          oBrw:lHScroll := .t.
          oBrw:lVScroll := .t.
          oBrw:nFreeze  := 1
          oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
          oBrw:CreateFromCode()
          oWnd:oClient := oBrw
   ACTIVATE WINDOW oWnd ON INIT oBrw:SetFocus()
   RELEASE oWnd,oBrw,oCol,x
RETURN NIL


espero te sirva
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 199
Joined: Fri Apr 18, 2008 04:21 PM
Re: [mysql] C贸mo hago para Resultado de select pasado a arra
Posted: Sat Oct 18, 2008 05:53 PM
Hola

Usa la clase tArray y lee el siguiente link

http://www.fivetechsoft.com/forums/view ... ght=jponce

para bajar la clase

http://www.4shared.com/file/64476829/2a ... d=f7cf9d59

Atentamente,
Julio Rodrigo Ponce Hinestroza
www.suproye.com
Guatemala

goosfancito wrote:gente.

Como hago para que usando TMYSQL el resultado despues de hacer:

Select * from clientes

lo transfiera a un arra para poder manejarlo?

Gracias.
[/url]
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
[mysql] C贸mo hago para Resultado de select pasado a array
Posted: Sat Oct 18, 2008 06:12 PM

Goos:

No tengo experiencia en el tema peroooooo, echale una mirada al metodo GetRows del recordset, creo que es lo que necesitas.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
[mysql] C贸mo hago para Resultado de select pasado a array
Posted: Wed Oct 22, 2008 01:12 AM
Gracias a todos.

Armando wrote:Goos:

No tengo experiencia en el tema peroooooo, echale una mirada al metodo GetRows del recordset, creo que es lo que necesitas.

Saludos
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion