FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support fox sql select
Posts: 38
Joined: Thu May 11, 2006 07:41 PM
fox sql select
Posted: Fri Jul 07, 2006 02:38 PM

El fox tiene un comando sql "select" que permite reunir o juntar en una sola tablas, varias tablas incluyendo varias clausulas adicionales como WHEN,FOR etc que le dan una gran potencia y versatilidad; mi pregunta es: HARBOUR o XHARBOUR tienen alguna funcion o comando parecida o similar; y cual es esa y por favor un ejemplo.
Gracias

Posts: 97
Joined: Sun Nov 20, 2005 04:32 PM
Re: fox sql select
Posted: Mon Jul 10, 2006 12:09 PM
sildata wrote:El fox tiene un comando sql "select" que permite reunir o juntar en una sola tablas, varias tablas incluyendo varias clausulas adicionales como WHEN,FOR etc que le dan una gran potencia y versatilidad; mi pregunta es: HARBOUR o XHARBOUR tienen alguna funcion o comando parecida o similar; y cual es esa y por favor un ejemplo.
Gracias


here any samples of sql-Select

   oODBC := TOdbc():New(cDsn, cUSR, cPAS)
   IF ! oODBC:lSuccess
      MsDebug( "Error at " + cDSN + " " + cUSR + " " + cPAS )
      oODBC:END()
      QuitProgram()
   ENDIF
   cSQLString := "Select Field1, Field2, Field3 from database1"
   oDBF := oODBC:Query( cSQLString )
   oDBF:Open()
   oDBF:Complete()
   oDBF:GoTop()
   IF oDBF:RecCount() = 0
      MsgAlert("No Data found")
   Else
      FOR _Rec = 1 to oDBF:RecCount()
          ? oDBF:FieldGet(1)
          ? oDBF:FieldGet(2)
          ? oDBF:FieldGet(3)
          oDBF:Skip()
      Next _Rec
   Endif
   oDBF:End()
   oODBC:End()



***** or an select from 2 or more Database

   IF ! oODBC:lSuccess
      MsDebug( "Error at " + cDSN + " " + cUSR + " " + cPAS )
      oODBC:END()
      QuitProgram()
   ENDIF
   cSQLString := "Select Database1.Field1, Database1.Field2, Database2.Field1 from database1, Database2 WHERE Database1.Field1 = Database2.Field1 ORDER BY database1.Field1"
   oDBF := oODBC:Query( cSQLString )
   oDBF:Open()
   oDBF:Complete()
   oDBF:GoTop()
   IF oDBF:RecCount() = 0
      MsgAlert("No Data found")
   Else
      FOR _Rec = 1 to oDBF:RecCount()
          ? oDBF:FieldGet(1)				// Database1.Field1
          ? oDBF:FieldGet(2)				// Database1.Field2
          ? oDBF:FieldGet(3)				// Database2.Field1
          oDBF:Skip()
      Next _Rec
   Endif
   oDBF:End()
   oODBC:End()


Best regards, Norbert

Continue the discussion