SQLGetData
Description
SQLGetData is used to retrieve data for a single column in the result set. It can be called multiple times to partially retrieve variable-length data.
Prototype
1 2 3 4 5 6 | SQLRETURN SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT Col_or_Param_Num, SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr, SQLLEN BufferLength, SQLLEN *StrLen_or_IndPtr); |
Parameters
| Keyword | Description |
|---|---|
| StatementHandle | Statement handle, obtained from SQLAllocHandle. |
| Col_or_Param_Num | Column number for which the data retrieval is requested. The column number starts with 1 and increases in ascending order. The number of the bookmark column is 0. |
| TargetType | C data type in the TargetValuePtr buffer. If TargetType is SQL_ARD_TYPE, the driver uses the data type of the SQL_DESC_CONCISE_TYPE column in ARD. If it is SQL_C_DEFAULT, the driver selects a default data type according to the source SQL data type. |
| TargetValuePtr | Output parameter: pointer to the pointer that points to the buffer where the data is located. |
| BufferLength | Size of the buffer pointed to by TargetValuePtr. |
| StrLen_or_IndPtr | Output parameter: pointer to the buffer where the length or identifier value is returned. |
Return Values
- SQL_SUCCESS indicates that the call succeeded.
- SQL_SUCCESS_WITH_INFO indicates that some warning information is displayed.
- SQL_ERROR indicates major errors, such as memory allocation and connection failures.
- SQL_NO_DATA indicates that the SQL statement does not return a result set.
- SQL_INVALID_HANDLE indicates that invalid handles are called. This value may also be returned by other APIs.
- SQL_STILL_EXECUTING indicates that the statement is being executed.
Precautions
If SQLGetData returns SQL_ERROR or SQL_SUCCESS_WITH_INFO, the application can call SQLGetDiagRec, with HandleType and Handle set to SQL_HANDLE_STMT and StatementHandle, respectively, to obtain the SQLSTATE value. The SQLSTATE value provides the detailed function calling information.
Examples
For details, see Typical Application Development Examples.