Microsoft KB Archive/130506

= HOWTO: Use AERROR in Place of DBERROR for ODBC Errors =

Article ID: 130506

Article Last Modified on 2/22/2005

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition
 * Microsoft Visual FoxPro 7.0 Professional Edition
 * Microsoft Data Access Components 2.5

-



This article was previously published under Q130506



SUMMARY
DBERROR is no longer used to retrieve errors generated by an ODBC function.

AERROR is a general Visual FoxPro error function that creates a memory variable array containing information about the most recent Visual FoxPro, OLE, or ODBC error.



MORE INFORMATION
The following example shows how to use AERROR. Here a database is specified in the ODBC function SQLEXEC that does not exist on the server. nHandle=SQLCONNECT('','sa','') nSuccess=SQLEXEC(nHandle,'use bad_db') Dimension aErrArray[1] nNumerrors=AERROR(aErrArray) The variable nNumerrors now contains the number of rows in the array aErrArray (2 in this case) and the array aErrArray contains the error information, as shown below: AERRARRAY  Pub  A (1,1)            N    1526    (           1526.00000000) (1,2)           C    "Connectivity error: [Microsoft][ODBC SQL Server                           Driver][SQL Server] Attempt to locate entry in                           Sysdatabases for database 'bad_db' by name                           failed - no entry found under that name. Make                           sure that name is entered properly." (1,3)           C    "[Microsoft][ODBC SQL Server Driver][SQL Server]                           Attempt to locate entry in Sysdatabases for                           database 'bad_db' by name failed - no entry                           found under that name. Make sure that name is                           entered properly." (1,4)           C    "08004" (1,5)           N    911      (            911.00000000) (1,6)           N    1        (              1.00000000) (1,7)           C    .NULL. (2,1)           N    1526     (           1526.00000000) (2,2)           C    "Connectivity error: [Microsoft][ODBC SQL Server                           Driver][SQL Server] Attempt to locate entry in                           Sysdatabases for database 'bad_db' by name                           failed - no entry found under that name. Make                           sure that name is entered properly." (2,3)           C    "[Microsoft][ODBC SQL Server Driver][SQL Server]                           Changed database context to 'pubs'." (2,4)           C    "01000" (2,5)           N    5701     (           5701.00000000) (2,6)           N    1        (              1.00000000) (2,7)           C    .NULL. The following table describes the contents of each element when an ODBC error numbered 1526 occurs. The array contains two or more rows; one row for each ODBC error.

Element number Description
    1          Numeric. Contains 1526. 2         Character. The text of the error message. 3         Character. The text of the ODBC error message. 4         Character. The current ODBC SQL state. 5         Numeric. The error number from the ODBC data source. 6         Numeric. The ODBC connection handle. 7         The null value.

Additional query words: kbfest VFoxWin

Keywords: kbhowto KB130506

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.