SQLGetDescRec

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

本主题讨论特定于 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)。

SQLGetDescRec 对大型 CLR UDT 的支持

SQLGetDescRec 支持大型 CLR 用户定义的类型(UDT)。 有关详细信息,请参阅大型 CLR 用户定义的类型(ODBC)。

另请参阅

SQLGetDescRec
ODBC API 实现细节