First Method
Using Aerror() will create an array containing the error code and error
message. It could be implemented as follows for catching the full ODBC
error that occurs when connecting to a datasource :
****************************
* Example of using AERROR()
*
dsource='test'
Handle=SQLCONNECT(dsource,"","")
IF HANDLE<0
retval=AERROR(atmp)
errval=atmp(1,1)
errmsg=atmp(1,2)
WAIT WINDOW STR(ERRVAL)+": "+ERRMSG
ENDIF
Second Method
Setting up similar error trapping would be to use the SQLSetProp() function
to set the DispWarning property to True. This will actually be easier than
the old DBError() function because once this is set the full ODBC error
text will automatically be displayed without having to test the return
value or having to fill variables and display them yourself. A connection
handle of 0 sets this as a default for all subsequent connections.
****************************
* Example using SQLSETPROP()
*
retval=SQLSETPROP(0,"DispWarnings",.T.)
* The "0" parameter above creates a "dummy" channel to turn Dispwarnings on
dsource='test'
Handle=SQLCONNECT(dsource,"","") && Error returning line