SQLGetDescRec
本主题讨论特定于 SQL Server Native Client 的 SQLGetDescRec 功能。
SQLGetDescRec 和表值参数
SQLGetDescRec 可用于获取表值参数和表值参数列的属性的值。 SQLGetDescRec 的 RecNumber 参数对应于 SQLBindParameter 的 ParameterNumber 参数。
表值参数列仅在将描述符标头字段 SQL_SOPT_SS_PARAM_FOCUS 设置为特定记录(其 SQL_DESC_TYPE 设置为 SQL_SS_TABLE)的序数时可用。 有关SQL_SOPT_SS_PARAM_FOCUS的详细信息,请参阅 SQLSetStmtAttr。
SQLGetDescRec 返回以下数据:
参数 | 表值参数 | 表值参数列和其他参数 |
---|---|---|
名称 | 存储过程调用的正式参数名称;否则是长度为 0 的字符串。 | 表值参数列名称。 |
TypePtr | SQL_DESC_TYPE。 对于表值参数,这是 SQL_SS_TABLE。 | SQL_DESC_TYPE |
SubTypePtr | Undefined | SQL_DESC_DATETIME_INTERVAL_CODE(对于 SQL_DATETIME 或 SQL_INTERVAL 类型的记录。) |
LengthPtr | 0 | SQL_DESC_OCTET_LENGTH |
PrecisionPtr | 0 | SQL_DESC_PRECISION |
ScalePtr | 0 | SQL_DESC_SCALE |
NullablePtr | 1 | SQL_DESC_NULLABLE |
有关表值参数的详细信息,请参阅 表值参数 (ODBC) 。
SQLGetDescRec 对日期和时间增强功能的支持
日期/时间类型返回以下值:
TypePtr | SubTypePtr | LengthPtr | PrecisionPtr | ScalePtr | |
---|---|---|---|---|---|
datetime | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
smalldatetime | SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
日期 | 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 |
有关详细信息,请参阅 日期和时间改进 (ODBC) 。
SQLGetDescRec 对大型 CLR UDT 的支持
SQLGetDescRec
支持大型 CLR 用户定义类型 (UDT)。 有关详细信息,请参阅 大型 CLR User-Defined类型 (ODBC) 。