Page 1 of 1

fox sql select

Posted: Fri Jul 07, 2006 2:38 pm
by sildata
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

Re: fox sql select

Posted: Mon Jul 10, 2006 12:09 pm
by NK
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

Code: Select all

   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