为什么ADO中GetCollect出错

yyf_ty 2004-11-26 07:27:41
在ADO中下面语句m_pRecordset->GetCollect(_variant_t("地址"));对不同的表在不同的项的时候老出错,特别是表比较大的时候。例如我有一个表,含400多条记录,但是每次读到第149条的时候就出错了。不知道为什么,请问什么原因会导致这样的错误呢。我的哪个字段全都是空记录。
...全文
154 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyf_ty 2004-11-27
  • 打赏
  • 举报
回复
m_pRecordset->MoveFirst ();
COleVariant var;
CString str;
while(!m_pRecordset->adoEOF)
{
m_pRecordset->get_Collect(_variant_t("xx"),var);
str=var.bstrVal ;
CString str1=str.Mid(str.ReverseFind (_T(' '))+1);//如果没有找到空格,则是简单的拷贝
m_pRecordset->PutCollect (_variant_t("yy"),(LPCSTR)str1);

str1=str.Mid (str.Find (_T(' '))+1,str.ReverseFind (_T(' '))-str.Find (_T(' '))-1);//如果第2个
m_pRecordset->PutCollect (_variant_t("zz"),(LPCSTR)str1);

m_pRecordset->get_Collect (_variant_t("mm"),&var);
if(var.bstrVal ==NULL)
m_pRecordset->PutCollect (_variant_t("mm"),(LPCSTR)str);
else
m_pRecordset->PutCollect (_variant_t("mm"),(LPCSTR)(str+var.bstrVal));
m_pRecordset->Update ();
m_pRecordset->MoveNext ();
}
Kudeet 2004-11-27
  • 打赏
  • 举报
回复
if(varint.vt != VT_NULL)
51365133 2004-11-27
  • 打赏
  • 举报
回复
CString str;
str=m_pRecordset->GetCollect("用户名").bstrVal;
MessageBox(str);
gooyan 2004-11-26
  • 打赏
  • 举报
回复
_variant_t varint = m_pRecordset->GetCollect("地址");
if(varint.vt != NULL)
{

}
else
{}
Kudeet 2004-11-26
  • 打赏
  • 举报
回复
看看代码

4,012

社区成员

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

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