Files
harbour-core/harbour/contrib/odbc/odbcdemo.prg
1999-10-20 19:20:22 +00:00

86 lines
2.2 KiB
Plaintext

*+--------------------------------------------------------------------
*+
*+ Function Main()
*+
*+--------------------------------------------------------------------
*+
FUNCTION Main()
LOCAL aOrders
LOCAL nOp
LOCAL dsFunctions
// LOCAL cExePath := substr( cargv(), 1, rat( "\", cargv() ) - 1 )
LOCAL cConStr := ;
"DBQ=" + "harbour.mdb;" + ;
"Driver={Microsoft Access Driver (*.mdb)}"
dsFunctions := TODBC():New( cConStr )
set COLOR TO "W+/B"
CLS
WHILE .T.
@ 00, 00 SAY padc( "þ TODBC Demonstration þ", 80 ) COLOR "B/W"
dsFunctions:SetSQL( "SELECT * FROM Functions" )
dsFunctions:Open()
@ 03, 24 TO len( dsFunctions:Fields ) + 4, 55
aOrders := {}
FOR i := 1 TO len( dsFunctions:Fields )
aadd( aOrders, dsFunctions:Fields[ i ] :FieldName )
@ i + 3, 25 PROMPT padc( "ORDER BY " + aOrders[ i ], 30 )
NEXT
MENU TO nOp
IF nOp == 0
EXIT
ENDIF
dsFunctions:Close()
dsFunctions:SetSQL( "SELECT * FROM Functions ORDER BY " + aOrders[ nOp ] )
dsFunctions:Open()
FOR i := 11 TO 24
@ i, 00 SAY REPL( " ", 80 )
NEXT
@ 10, 00 TO 10, 79
@ 24, 00 TO 24, 79
@ 12, 00 TO 12, 79
@ 11, 00 SAY ""
@ 11, 02 SAY "Statement:" COLOR "GR+/B"
@ 11, col() + 1 SAY dsFunctions:cSQL
@ 14, 05 SAY " " + padr( dsFunctions:FieldByName( "Code" ) :FieldName, 3 ) + " " + ;
padr( dsFunctions:FieldByName( "Function" ) :FieldName, 15 ) + " " + ;
padr( dsFunctions:FieldByName( "State" ) :FieldName, 2 ) + " " + ;
padr( dsFunctions:FieldByName( "Comments" ) :FieldName, 40 ) ;
COLOR "B/W"
WHILE !dsFunctions:Eof()
? " " + padr( dsFunctions:FieldByName( "Code" ) :Value, 3 ), "³", ;
padr( dsFunctions:FieldByName( "Function" ) :Value, 15 ), "³", ;
padr( dsFunctions:FieldByName( "State" ) :Value, 2 ), "³", ;
padr( dsFunctions:FieldByName( "Comments" ) :Value, 40 )
dsFunctions:Skip()
ENDDO
dsFunctions:Close()
ENDDO
dsFunctions:Destroy()
RETURN ( NIL )
*+ EOF: ODBCDEMO.PRG