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 返回以下数据:
参数 |
表值参数 |
表值参数列和其他参数 |
---|---|---|
Name |
存储过程调用的正式参数名称;否则是长度为 0 的字符串。 |
表值参数列名称。 |
TypePtr |
SQL_DESC_TYPE。对于表值参数,这是 SQL_SS_TABLE。 |
SQL_DESC_TYPE |
SubTypePtr |
未定义 |
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 |
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 |
有关详细信息,请参阅 日期/时间的改进 (ODBC)。