SQLDescribeCol在返回-8时指什么types?

在下面的代码示例中,我得到了dataTypedataType的types为nchar(10)的SQL Server 2012表中的列的-8 。 我无法在头文件中的任何位置find-8 。 在sqlext.h我可以find下面定义的负值,但它停在-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。

互联网上的许多资源都有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