在下面的代码示例中,我得到了dataType
中dataType
的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