" *****************************************************************************************************
*
* getFunc.txt
*
*This examples shows how to use getFunctions
*
******************************************************************************************************"

|connection1  aTextDisplay connectString |

aTextDisplay := TextWindow  windowLabeled: 'ODBC Interface - Using getFunctions '
                           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 a list of functions ***"
OdbcFunctions  keysDo:
     [ :aKey |     
         aTextDisplay nextPutAll: aKey.
         (connection1 getFunction: (OdbcFunctions at: aKey))
         ifTrue:
            [aTextDisplay nextPutAll: ' is supported' ; cr]
        ifFalse:
            [aTextDisplay nextPutAll: ' is NOT supported' ; 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 ***'.
