#SQLGetDescField
# 函数用途
返回单个描述符字段的值。
# ODBC函数原型
SQLRETURN SQLGetDescField(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLSMALLINT FieldIdentifier,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER * StringLengthPtr);
# 参数说明
FieldIdentifier支持情况:
不在列表中的参数不支持,同时已做拦截处理。
# ARD
字段属性 | FieldIdentifier | 支持情况 | 说明 |
---|---|---|---|
header | SQL_DESC_ALLOC_TYPE | 支持 | 目前都为SQL_DESC_ALLOC_AUTO |
header | SQL_DESC_ARRAY_SIZE | 支持 | 等价于SQLSetStmtAttr的SQL_ATTR_ROW_ARRAY_SIZE |
header | SQL_DESC_BIND_TYPE | 支持 | 仅支持SQL_BIND_BY_COLUMN |
header | SQL_DESC_COUNT | 支持 | |
record | SQL_DESC_CONCISE_TYPE | 支持 | |
record | SQL_DESC_DATA_PTR | 支持 | |
record | SQL_DESC_DATETIME_INTERVAL_CODE | 支持 | 返回值根据C Type不同 switch (bindCType) { case SQL_C_TYPE_DATE: *value = SQL_CODE_DATE; break; case SQL_C_TYPE_TIME: *value = SQL_CODE_TIME; break; case SQL_C_TYPE_TIMESTAMP: *value = SQL_CODE_TIMESTAMP; break; case SQL_C_INTERVAL_DAY_TO_SECOND: *value = SQL_CODE_DAY_TO_SECOND; break; case SQL_C_INTERVAL_YEAR_TO_MONTH: *value = SQL_CODE_YEAR_TO_MONTH; break; default: *value = 0; break; } |
record | SQL_DESC_INDICATOR_PTR | 支持 | |
record | SQL_DESC_NUM_PREC_RADIX | 支持 | 一直返回10 |
record | SQL_DESC_OCTET_LENGTH | 支持 | |
record | SQL_DESC_PRECISION | 支持 | |
record | SQL_DESC_SCALE | 支持 | |
record | SQL_DESC_TYPE | 支持 | 返回值根据C Type不同 switch (bindCType) { case SQL_C_TYPE_DATE: case SQL_C_TYPE_TIME: case SQL_C_TYPE_TIMESTAMP: *value = SQL_DATETIME; break; case SQL_C_INTERVAL_DAY_TO_SECOND: case SQL_C_INTERVAL_YEAR_TO_MONTH: *value = SQL_INTERVAL; break; default: *value = bindCType; break; } |
# APD
字段属性 | FieldIdentifier | 支持情况 | 值说明 |
---|---|---|---|
header | SQL_DESC_ALLOC_TYPE | 支持 | 目前都为SQL_DESC_ALLOC_AUTO |
header | SQL_DESC_ARRAY_SIZE | 支持 | 等价于SQLSetStmtAttr的SQL_ATTR_PARAMSET_SIZE |
header | SQL_DESC_BIND_TYPE | 支持 | 仅支持SQL_BIND_BY_COLUMN |
header | SQL_DESC_COUNT | 支持 | |
record | SQL_DESC_CONCISE_TYPE | 支持 | |
record | SQL_DESC_DATA_PTR | 支持 | |
record | SQL_DESC_DATETIME_INTERVAL_CODE | 支持 | 返回值根据C Type不同 switch (bindCType) { case SQL_C_TYPE_DATE: *value = SQL_CODE_DATE; break; case SQL_C_TYPE_TIME: *value = SQL_CODE_TIME; break; case SQL_C_TYPE_TIMESTAMP: *value = SQL_CODE_TIMESTAMP; break; case SQL_C_INTERVAL_DAY_TO_SECOND: *value = SQL_CODE_DAY_TO_SECOND; break; case SQL_C_INTERVAL_YEAR_TO_MONTH: *value = SQL_CODE_YEAR_TO_MONTH; break; default: *value = 0; break; } |
record | SQL_DESC_INDICATOR_PTR | 支持 | |
record | SQL_DESC_NUM_PREC_RADIX | 支持 | 一直返回10 |
record | SQL_DESC_OCTET_LENGTH | 支持 | |
record | SQL_DESC_PRECISION | 支持 | |
record | SQL_DESC_SCALE | 支持 | |
record | SQL_DESC_TYPE | 支持 | 返回值根据C Type不同 switch (bindCType) { case SQL_C_TYPE_DATE: case SQL_C_TYPE_TIME: case SQL_C_TYPE_TIMESTAMP: *value = SQL_DATETIME; break; case SQL_C_INTERVAL_DAY_TO_SECOND: case SQL_C_INTERVAL_YEAR_TO_MONTH: *value = SQL_INTERVAL; break; default: *value = bindCType; break; } |
# IRD
字段属性 | FieldIdentifier | 支持情况 | 值说明 |
---|---|---|---|
header | SQL_DESC_ALLOC_TYPE | 支持 | 目前都为SQL_DESC_ALLOC_AUTO |
header | SQL_DESC_COUNT | 支持 | |
header | SQL_DESC_ROWS_PROCESSED_PTR | 支持 | 等价于SQLSetStmtAttr的SQL_ATTR_ROWS_FETCHED_PTR |
record | SQL_DESC_AUTO_UNIQUE_VALUE SQL_DESC_BASE_COLUMN_NAME SQL_DESC_BASE_TABLE_NAME SQL_DESC_CASE_SENSITIVE SQL_DESC_CATALOG_NAME SQL_DESC_CONCISE_TYPE SQL_DESC_DISPLAY_SIZE SQL_DESC_FIXED_PREC_SCALE SQL_DESC_LABEL SQL_DESC_LENGTH SQL_DESC_LITERAL_PREFIX SQL_DESC_LITERAL_SUFFIX SQL_DESC_LOCAL_TYPE_NAME SQL_DESC_NAME SQL_DESC_NULLABLE SQL_DESC_NUM_PREC_RADIX SQL_DESC_OCTET_LENGTH SQL_DESC_PRECISION SQL_DESC_SCALE SQL_DESC_SCHEMA_NAME SQL_DESC_SEARCHABLE SQL_DESC_TABLE_NAME SQL_DESC_TYPE SQL_DESC_TYPE_NAME SQL_DESC_UNNAMED SQL_DESC_UNSIGNED SQL_DESC_UPDATABLE | 参见SQLColAttribute的字段支持情况 | 等价于SQLColAttribute中的对应字段属性 |
# IPD
字段属性 | FieldIdentifier | 支持情况 | 值说明 |
---|---|---|---|
header | SQL_DESC_ALLOC_TYPE | 支持 | 目前都为SQL_DESC_ALLOC_AUTO |
header | SQL_DESC_COUNT | 支持 | |
record | SQL_DESC_CONCISE_TYPE | 支持 | 当该字段未设置时,返回SLQ_UNKNOWN_TYPE,当该字段已设置,返回对应已设置的sqlType |
record | SQL_DESC_PARAMETER_TYPE | 支持 | |
record | SQL_DESC_PRECISION | 不支持 | |
record | SQL_DESC_SCALE | 不支持 | |
record | SQL_DESC_TYPE | 支持 | 返回值根据sqlType不同 switch (sqlType) { case SQL_TYPE_DATE: case SQL_TYPE_TIME: case SQL_TYPE_TIMESTAMP: *value = SQL_DATETIME; break; case SQL_INTERVAL_DAY_TO_SECOND: case SQL_INTERVAL_YEAR_TO_MONTH: *value = SQL_INTERVAL; break; default: *value = sqlType; break; } |
# 错误码说明
无特殊说明。
# 其他说明
无特殊说明。