ODBC,C ++,从第一列中检索ntext

时间:2013-03-27 18:48:30

标签: c++ sql sql-server odbc

我可以用SQLGetData检索ntext列。

retCode = SQLGetData(input_hstmt, column, SQL_C_BINARY, 
            target_ptr, NULL, &binding_ref.buffer_length);
target_ptr = new BYTE[buffer_length + 1];
retCode = SQLGetData(input_hstmt, column, SQL_C_WCHAR, 
            target_ptr, buffer_length + 1, &strlen_or_ind);

问题是还有其他列,我想绑定并在之后使用SQLFetch。对于使用SQLGetData,要检索的列数必须大于绑定列数的最大数。检索数据最合适的方法是什么? 例如。对列进行排序并按正确顺序检索它们,避免使用SQLFetch,还有其他什么?

1 个答案:

答案 0 :(得分:0)

我不确定是否有一个“正确”的解决方案,它只是SQL Server驱动程序的一个功能,它可以像从SQLGetData那样从TDS输入缓冲区中读取数据。但是,您可以通过将游标类型设置为可滚动来解决此问题。默认情况下,SQL Server在使用游标时不返回大对象,并且在调用SQLGetData时将返回到数据库。它并不理想,但可以帮助你解决问题。