运行成功后,出现runtime error错误

KeepingStudyZXR KeepingStudyZXR 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
vc6.0操作sql server 2000数据库。那位高手熟悉_RecordsetPtr指针操作,帮小弟看看下面的代码吧,能够实现我要的向TwoConditionSet表中插入数据,但是结束后就出现

Runtime error!
this application has requested the runtime to terminate it in an unusual way.
please contact the application's support team for more information.
的错误。
是因为结束后没有对指针处理导致的吗??? 求指点!!!

void Createtwice()
{

ADOConn ado;
int countnumber=0;
int circletime=0;
CString strsql="select * from OneConditionSet where oncehouse=1";
_bstr_t bstrsql(strsql);

_variant_t varconditionstr1;
_variant_t varconditionstr2;
_variant_t varcondition1;
_variant_t varcondition2;
_variant_t varhouse;
_variant_t varhousespt;



_RecordsetPtr m_pRecordset1=ado.GetRecordSet(bstrsql);
_RecordsetPtr m_pRecordset2;

varconditionstr1=m_pRecordset1->GetCollect("oncecondit");
conditionstr1=(char *)_bstr_t(varconditionstr1);

varcondition1=m_pRecordset1->GetCollect("onceeducat");
condition1=(char *)_bstr_t(varcondition1);

while(!m_pRecordset1->adoBOF)
{


for(int j=0;j<circletime;j++)
m_pRecordset1->MoveNext();
if(circletime==0)
m_pRecordset1->MoveNext();

if(circletime!=0)
{
varconditionstr1=m_pRecordset1->GetCollect("oncecondit");
conditionstr1=(char *)_bstr_t(varconditionstr1);

varcondition1=m_pRecordset1->GetCollect("onceeducat");
condition1=(char *)_bstr_t(varcondition1);
m_pRecordset1->MoveNext();
}


m_pRecordset2=m_pRecordset1;

while(!m_pRecordset2->adoEOF)
{
varconditionstr2=m_pRecordset2->GetCollect("oncecondit");
conditionstr2=(char *)_bstr_t(varconditionstr2);

varcondition2=m_pRecordset2->GetCollect("onceeducat");
condition2=(char *)_bstr_t(varcondition2);

if(conditionstr1!=conditionstr2)
{
countnumber++;
CString string="insert into TwoConditionSet(twiceid,twiceconditstr1,twicecondit1,twiceconditstr2,twicecondit2,";
string+="twicecondit12spt,twicehouse,twicehousespt)values(%d,'%s','%s','%s','%s',%d,%d,%d)";
CString str;
str.Format(string,countnumber,conditionstr1,condition1,conditionstr2,condition2,conditionspt,house,housespt);
_bstr_t bstrsql1(str);
ado.ExecuteSQL(bstrsql1);
}
m_pRecordset2->MoveNext();

}
circletime++;
m_pRecordset1->MoveFirst();
}

}
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
KeepingStudyZXR
VC/MFC 16,550 成员 421,606 内容