" *****************************************************************************************************
*
* getInfo.txt
*
*This examples shows how to use getInfo
*
******************************************************************************************************"

|connection1  aTextDisplay connectString |

aTextDisplay := TextWindow  windowLabeled: 'ODBC Interface - Using getInfo'
                           frame: (0 @ 0 corner: 500 @ 500).
aTextDisplay cr.



" *** Open the connection ****"

connection1 := OdbcConnection open.
connection1 hasError
    ifTrue:
    [    aTextDisplay nextPutAll: connection1 getMessage; cr
    ].
                                                       


" *** Driver  Connect ***
 Valid Driver completions code are in OdbcDriverCompletions "

connectString :=  connection1 driverConnect: '' window: aTextDisplay
        driverCompletion: (OdbcDriverCompletions at: 'DRIVERPROMPT').

connection1 hasError
    ifTrue:
    [    aTextDisplay nextPutAll: connection1 getMessage; cr
    ].




" *** display the connect options and their values ***"
" Since there is no statement handle the SQL_DRIVER_HSTMT (5) query is invalid "
 
   OdbcfInfoType  associationsDo:
     [ :a| (a value) = 5 ifFalse: [
         aTextDisplay nextPutAll: (a key) ; tab
                              ; nextPutAll:  (connection1 getInfo:  a value) asString ; cr ]
    ].



" *** disconnect *** "
connection1 disconnect.
connection1 hasError
    ifTrue:
    [    aTextDisplay nextPutAll: connection1 getMessage; cr
    ].


" *** free the connection *** "

connection1 free.
connection1 hasError
    ifTrue:
    [    aTextDisplay nextPutAll: connection1 getMessage; cr
    ].


aTextDisplay nextPutAll: '*** finished executing ***'.
