【发布时间】:2019-08-23 17:10:21
【问题描述】:
谁能帮我弄清楚如何从CRecordset 读取__int64 值?
我的代码如下所示:
CDBVariant var;
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly, L"SELECT col FROM Customers");
rs.GetFieldValue((short)0, m_Var, SQL_C_SBIGINT);
但是对GetFieldValue() 的调用会产生错误:
参数值无效
跟踪代码,我看到CRecordset::GetDataBuffer() 断言是因为SQL_C_SBIGINT(或SQL_C_BIGINT)不是switch 语句中的字段类型之一。
在花费了一个多小时后,我发现很多文档表明这应该是可能的,尽管不是一个例子。有谁知道可以吗?
【问题讨论】:
标签: c++ odbc crecordset