运行成功后,出现runtime error错误
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();
}
}