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 and 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).