SQLGetDescRec
This topic discusses SQLGetDescRec functionality that is specific to SQL Server Native Client.
SQLGetDescRec and Table-Valued Parameters
SQLGetDescRec can be used to get values for attributes of table-valued parameters and table-valued parameter columns. The RecNumber parameter of SQLGetDescRec corresponds to the ParameterNumber parameter of SQLBindParameter.
Table-valued parameter columns are only available when the descriptor header field SQL_SOPT_SS_PARAM_FOCUS is set to the ordinal of a record that has SQL_DESC_TYPE set to SQL_SS_TABLE. For more information about SQL_SOPT_SS_PARAM_FOCUS about, see SQLSetStmtAttr.
SQLGetDescRec returns the following data:
Parameter |
Table-valued parameter |
Table-valued parameter columns and other parameters |
---|---|---|
Name |
The formal parameter name for a stored procedure call; otherwise, a 0 length string. |
The table-valued parameter column name. |
TypePtr |
SQL_DESC_TYPE. For table-vaued parameters, this is SQL_SS_TABLE. |
SQL_DESC_TYPE |
SubTypePtr |
Undefined |
SQL_DESC_DATETIME_INTERVAL_CODE (For records of type SQL_DATETIME or SQL_INTERVAL.) |
LengthPtr |
0 |
SQL_DESC_OCTET_LENGTH |
PrecisionPtr |
0 |
SQL_DESC_PRECISION |
ScalePtr |
0 |
SQL_DESC_SCALE |
NullablePtr |
1 |
SQL_DESC_NULLABLE |
For more information about table-valued parameters, see Table-Valued Parameters (ODBC).
SQLGetDescRec Support for Enhanced Date and Time Features
The values returned for date/time types are as follows:
TypePtr |
SubTypePtr |
LengthPtr |
PrecisionPtr |
ScalePtr |
|
---|---|---|---|---|---|
datetime |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
4 |
3 |
3 |
smalldatetime |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
8 |
0 |
0 |
date |
SQL_DATETIME |
SQL_CODE_DATE |
6 |
0 |
0 |
time |
SQL_SS_TIME2 |
0 |
10 |
0..7 |
0..7 |
datetime2 |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
16 |
0..7 |
0..7 |
datetimeoffset |
SQL_SS_TIMESTAMPOFFSET |
0 |
20 |
0..7 |
0..7 |
For more information, see Date/Time Improvements (ODBC).
SQLGetDescRec Support for Large CLR UDTs
SQLGetDescRec supports large CLR user-defined types (UDTs). For more information, see Large CLR User-Defined Types (ODBC).