#SQLColAttribute

# 功能简介

描述结果集内列的属性。

# 函数声明

SQLRETURN SQLColAttribute (  
      SQLHSTMT        StatementHandle,  
      SQLUSMALLINT    ColumnNumber,  
      SQLUSMALLINT    FieldIdentifier,  
      SQLPOINTER      CharacterAttributePtr,  
      SQLSMALLINT     BufferLength,  
      SQLSMALLINT *   StringLengthPtr,  
      SQLLEN *        NumericAttributePtr);

# 参数说明

参数名 说明
StatementHandle (IN) 语句句柄。
ColumnNumber (IN) 要从中检索字段值的 IRD 中的记录编号。
FieldIdentifier (IN) 描述符句柄。
CharacterAttributePtr (OUT) 指向缓冲区的指针。
BufferLength (IN) 如果 FieldIdentifier 是 ODBC 定义的字段,并且 CharacterAttributePtr 指向字符串或二进制缓冲区,则此参数的长度应为 *CharacterAttributePtr。
StringLengthPtr (OUT) 指向缓冲区的指针,该缓冲区返回的总字节数(不包括字符数据的 null 终止字节数),可在 *CharacterAttributePtr 中返回。
NumericAttributePtr (OUT) 指向整数缓冲区的指针。

FieldIdentifier参数的支持情况:

FieldIdentifier 说明 支持情况
SQL_DESC_CONCISE_TYPE 简约类型 支持
SQL_DESC_DISPLAY_SIZE 最大显示宽度,对于变长数据类型(字符串类型和二进制类型),绑定缓冲区大小建议在此基础上+1(用于放置字符串结束符'\0') 支持
SQL_DESC_LENGTH 等同于SQL_DESC_DISPLAY_SIZE 支持
SQL_DESC_NAME 列名 支持
SQL_COLUMN_LABEL 等同于SQL_DESC_NAME(ODBC 2.0) 支持
SQL_DESC_NULLABLE 可空性 支持
SQL_DESC_OCTET_LENGTH 等同于SQL_DESC_DISPLAY_SIZE 支持
SQL_DESC_PRECISION 精度 支持
SQL_DESC_SCALE 刻度 支持
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;
}
支持
SQL_DESC_UNSIGNED 是否为无符号 支持
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_FIXED_PREC_SCALE 不支持
SQL_DESC_LITERAL_PREFIX 不支持
SQL_DESC_LITERAL_SUFFIX 不支持
SQL_DESC_NUM_PREC_RADIX 不支持
SQL_DESC_SCHEMA_NAME 不支持
SQL_DESC_SEARCHABLE 不支持
SQL_DESC_TABLE_NAME 不支持
SQL_DESC_TYPE_NAME 不支持
SQL_DESC_UNNAMED 不支持
SQL_DESC_UPDATABLE 不支持
pdf-btn 下载文档
copy-btn 复制链接