VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

SQLDescribeCo

功能描述

返回结果集内一列的结果描述符(列名、类型、列大小、十进制数字和为 null 性)。 此信息在 IRD 的字段中也可用。

接口原型

RETCODE		SQL_API
SQLDescribeCol(HSTMT StatementHandle,
			    SQLUSMALLINT ColumnNumber, 
                SQLCHAR *ColumnName,
			    SQLSMALLINT BufferLength, 
                SQLSMALLINT *NameLength,
			    SQLSMALLINT *DataType, 
                SQLULEN *ColumnSize,
			    SQLSMALLINT *DecimalDigits,
                SQLSMALLINT *Nullable)

参数说明

参数名 参数说明
StatementHandle 语句句柄。
ColumnNumber 结果数据的列数,按列顺序按顺序排序,从 1 开始。 ColumnNumber 参数还可以设置为 0 来描述书签列。
ColumnName 指向要返回列名的以 null 终止的缓冲区的指针。 此值从 IRD SQL_DESC_NAME字段读取。 如果列未命名或无法确定列名,驱动程序将返回空字符串。
BufferLength ColumnName 缓冲区 的长度 (以字符表示)。
NameLength 指向缓冲区的指针,在缓冲区中返回ColumnName字符总数 (Null 终止)。 如果可返回的字符数大于或等于 BufferLength, 则 ColumnName 中的列名将截断为 BufferLength 减去 null 终止字符的长度。
DataType 指向缓冲区的指针,在该缓冲区中返回列的SQL数据类型。这个值是从IRD的SQL_DESC_CONCISE_TYPE字段读取的。
ColumnSize 指向缓冲区的指针,在该缓冲区中返回数据源上列的大小(以字符为单位)。
DecimalDigits 指向缓冲区的指针,在缓冲区中返回数据源中列的小数位数。 如果无法确定或不适用小数位数,驱动程序将返回 0。
Nullable 指向缓冲区的指针,在缓冲区中返回一个值,该值指示列是否允许 NULL 值。 此值从 IRD SQL_DESC_NULLABLE字段读取。 该值为下列值之一:
  • SQL_NO_NULLS:列不允许 NULL 值。
  • SQL_NULLABLE:列允许 NULL 值。
  • SQL_NULLABLE_UNKNOWN:驱动程序无法确定列是否允许 NULL 值。

返回

  • SQL_SUCCESS:表示调用正确。
  • SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。
  • SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
  • SQL_INVALID_HANDLE:表示调用无效句柄。其他API的返回值同理。

其他

无。