gpt4 book ai didi

c - SQLDescribeCol 返回-8 时表示什么类型?

转载 作者:可可西里 更新时间:2023-11-01 09:59:09 27 4
gpt4 key购买 nike

在下面的代码示例中,我在 dataType 中为 SQL Server 2012 表中类型为 nchar(10 )。我找不到在头文件中任何地方定义的 -8。在 sqlext.h 中,我可以找到以下定义的负值,但它在 -7 处停止。

显然 -8 表示 nchar(x),但它是否已定义?如果是,在哪里定义?

这是 sqlext.h 中定义 -1-7 的摘录:

#define SQL_LONGVARCHAR                         (-1)
#define SQL_BINARY (-2)
#define SQL_VARBINARY (-3)
#define SQL_LONGVARBINARY (-4)
#define SQL_BIGINT (-5)
#define SQL_TINYINT (-6)
#define SQL_BIT (-7)

这是我的代码。我关心对 SQLDescribeColA 的调用:

void ODBCulator::setColumns(ODBCResultSet& resultSet, SQLHANDLE hStmt) {
SQLSMALLINT numCols ;
SQLRETURN retCode = SQLNumResultCols( hStmt, &numCols );
SQLCHAR colName[1000] ;
SQLSMALLINT colNameLen, dataType, numDecimalDigits, allowsNullValues ;
SQLULEN columnSize ; SQL_BIT;
for( int i = 1 ; i <= numCols ; i++ ) {
retCode = SQLDescribeColA( hStmt, i, colName,
(sizeof(colName) / sizeof(colName[0])) - 1,
&colNameLen, &dataType, &columnSize,
&numDecimalDigits, &allowsNullValues );
resultSet.addColumn( i, colName, dataType, columnSize );
}
}

我正在使用 Visual Studio 2010 和 SQL Server 2012。

最佳答案

Internet 上的许多来源都有 -8 SQL_WCHAR 类型的值。

/*
* SQL datatypes - Unicode
*/
#define SQL_WCHAR (-8)
#define SQL_WVARCHAR (-9)
#define SQL_WLONGVARCHAR (-10)

例如,

https://www.opensource.apple.com/source/iodbc/iodbc-42.2/iodbc/include/sqlucode.h?txt

https://svn.apache.org/repos/asf/openoffice/trunk/main/unixODBC/inc/sqlucode.h

关于c - SQLDescribeCol 返回-8 时表示什么类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com