ODBC_SQLGetDiagRec

4D - Documentation   Français   English   German   4D ODBC PRO, Command Theme List   4D ODBC PRO, Command Alphabetical List   Back   Previous   Next

version 2004


ODBC_SQLGetDiagRec (handleType; handleID; recNb; sqlState; nativeError; messageText{; textLength}) Longint

ParameterTypeDescription
handleTypeLongintType of ID to pass to handleID
handleIDLongintHandle ID for the diagnostic data structure
recNbLongintIndicates the status record from which information
is sought. Status records are numbered from 1
sqlStateStringFive-character SQLSTATE code pertaining to the
diagnostic record recNb
nativeErrorLongintNative error code, specific to the data source
messageTextTextDiagnostic message text string
textLengthLongintLength of the string returned in messageText
Function resultLongintReturns the result of the MS ODBC API function
SQLGetDiagRec

Description

The ODBC_SQLGetDiagRec command returns the current values of multiple fields of a diagnostic record that contains error, warning, and status information. Call this command any time one of the other 4D ODBC PRO commands does not return SQL_SUCCESS.

handleType defines the type of ID to pass to handleID, which can be one of the following:

ConstantDescription
SQL_HANDLE_ENVEnvironment ID
SQL_HANDLE_DBCConnection ID
SQL_HANDLE_STMTStatement ID
SQL_HANDLE_DESCDescriptor ID

handleID is a handle ID for the diagnostic data structure, of the type indicated by handleType. If handleType is SQL_HANDLE_ENV, this parameter is taken into account and the constant SQL_DEFAULT_ID can be then used.

handleID is the connectionID if handleType is equal to SQL_HANDLE_DBC. connectionID is a valid connection ID returned by ODBC_SQLAllocConnect and a connection must be established using the ODBC_SQLConnect command.

Otherwise, handleID is the stmtID, which is a valid statement ID returned by ODBC_SQLAllocStmt.

recNb indicates the status record from which information is sought. Status records are numbered from 1.

sqlState is the five-character SQLSTATE code pertaining to recNb. The first two characters indicate the class; the next three indicate the subclass. This value comes from the SQL_DIAG_SQLSTATE diagnostic field.

nativeError is the native error code specific to the data source, from the SQL_DIAG_NATIVE diagnostic field.

messageText is the diagnostic message text string, which comes from the SQL_DIAG_MESSAGE_TEXT field.

For more information, please see the SQLGetDiagRec function in the MS ODBC API at http://msdn.microsoft.com/library/en-us/odbc/htm/odbcsqlgetdiagrec.asp.

Function Results

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, or SQL_INVALID_HANDLE.

Example

The following method is called after the result from calling ODBC_SQLExecute is not equal to SQL_SUCCESS. The debugMessage variable will contain the error message:

   If ($result#SQL_SUCCESS )
      $resultDiag:=ODBC_SQLGetDiagRec (SQL_HANDLE_STMT ;$statementID;1;SQLState;nativeError;
               debugMessage;vTextLen)
   End if 

See Also

ODBC_SetErrorHandler, ODBC_SQLGetDiagField.


4D - Documentation   Français   English   German   4D ODBC PRO, Command Theme List   4D ODBC PRO, Command Alphabetical List   Back   Previous   Next