c - 当 SQLDescribeCol 返回 -8 时,它意味着什么类型?

标签 c windows visual-studio-2010 odbc

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

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

以下是定义 -1-7sqlext.h 的摘录:

#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。

最佳答案

互联网上的许多来源都提供 -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/

相关文章:

windows - WinInet 与 WinHttp(服务或类似服务的进程)

windows - 为什么不能在 cmd.exe 可执行文件的选项周围加上引号?

时间:2019-05-17 标签:c#wcf文件和文件夹浏览器

c# - "System.Net.Sockets.Socket does not contain a definition for ' 发送至 '"

c - 树数据结构(level_order)

c - 使用STM32L TIM PWM控制伺服电机

c++ - 调用打开文件对话框后文件写入不起作用

c - 构建并打印一个链表,其中每个节点代表 C 中的一个链表

c# - 从数据点c#计算指数增长方程

c++ - Visual Studio 2013 中的 "per file"自定义生成步骤在哪里?