ADO控制ACCESS数据库的小问题!

fisker0303 2004-03-31 07:26:15
我先用
m_pRs->PutCollect("nickname",_variant_t(RegisterData));
......
把数据写到ACCESS数据库后
想用下面的语句来得到当前行(刚刚写的那一行)的id号(id为自动编号),却无法实现,而得到这一行(nickname......)的其他值都可以,我把下面的语句放在m_pRs->Update()的前后都试过了,就是得不到“id”的值,谁能告诉我为什么啊?
谢谢各位了,急用!!!!!!!!
.......................
_variant_t vFieldValue;
CString strFieldValue;
vFieldValue=m_pRs->GetCollect("id");
strFieldValue=(char*)_bstr_t(vFieldValue);
..................


...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fisker0303 2004-03-31
  • 打赏
  • 举报
回复
谢谢你啊~ id不是第一个 但我已经解决了。
我用m_pRs->MovePrevious();进入上一行
再用m_pRs->MoveNext();进入下一行就能得到正确的id了

真是见鬼
itmaster 2004-03-31
  • 打赏
  • 举报
回复
范例:

void CTestadoView::OnTotalRecords()
{
_RecordsetPtr m_pRecordset;
_variant_t RecordsAffected;
m_pRecordset =m_pConnection->Execute("SELECT COUNT(*) FROM new where ID > 0",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRecordset->GetCollect(vIndex);
///取得第一个字段的值放入vCount变量
m_pRecordset->Close();///关闭记录集
CString Message;
Message.Format("共有%d条记录",vCount.lVal);
AfxMessageBox(Message);///显示当前记录条数
}
itmaster 2004-03-31
  • 打赏
  • 举报
回复
vFieldValue=m_pRs->GetCollect("id");
id字段如果是第一个
换成
vFieldValue=m_pRs->GetCollect(0);
试试
用索引,不用字段名字

4,011

社区成员

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

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