ADO访问Access数据库问题!

picking 2005-09-09 05:35:27
各位大侠,小弟想得到一个打开的access数据库表的列数,代码如下:
m_pRecordset->Open(vSql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,
adLockOptimistic,adCmdText);
long lCols;
lCols=m_pRecordset->GetFields()->Count;

其中vSql是在前面定义了的_variant_t变量,执行其他操作都可以,为何就是得不到列数啊
debug下得不到出错,Release下得不到但是不报错

为何会出现这种情况呢?我看书上都是这么得到列数的啊,望详解,多些!
...全文
227 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinghui2005 2005-10-05
  • 打赏
  • 举报
回复
楼上,麻烦问一下,客户端游标和服务器游标区别在那里?
color99 2005-09-12
  • 打赏
  • 举报
回复
要使Ado返回正确的的记录数,必须把游标设为客户端游标

m_pRecordset->CursorLocation = adUseClient;
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
...
if (m_pRecordset->RecordCount>0)
....
saliors 2005-09-12
  • 打赏
  • 举报
回复
m_pRecordset使用前Close一下看看。
另外,跟踪lCols=m_pRecordset->GetFields()->Count;看看lCols这时候是什么值。

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧