在频繁的ADOQUERY操作后用ADOCOMMAND为什么EXCUTE时老是捕获到异常无法执行!

aiker666 2010-08-02 03:01:18
我的程序在做了大概15次ADOQUERY查询出所得的数据后,把得出的数据插入到一张表中用ADOCOMMAND,但最后在EXCUTE,用TRY,CATCH时老是捕获到异常,无法执行插入!这是什么原因呢,网络是正常的
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiker666 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhouzhangkui 的回复:]
每次运行结果不同 带进去的参数自然不一样
而且我一直提醒你 要你贴具体的错误 你咋怎么就是不贴出来看看呢?
改成这样 看看具体什么错误
catch(Exception &E)
{
ShowMessage(E.Message);
}
[/Quote]
好的药师大哥。主要我在我的开发环境即使用支行的数据来调也不报错。只有到支行去才能采集到错误信息。并非是不贴错误数据!得找个机会到支行才知道实际错误参数,到时我贴出来请药师大哥帮忙!
周药师 2010-08-02
  • 打赏
  • 举报
回复
每次运行结果不同 带进去的参数自然不一样
而且我一直提醒你 要你贴具体的错误 你咋怎么就是不贴出来看看呢?
改成这样 看看具体什么错误
catch(Exception &E)
{
ShowMessage(E.Message);
}
aiker666 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhouzhangkui 的回复:]
看样子应该是的SQL语句本省的错误
添加Memo控件 通过这句Memo1->Lines->Add(SQL);
把你最后的SQL的语句,取出来拷贝到查询分析器里看看 到底是什么错误?
[/Quote]
药师大哥,我这个很诡异,我这个程序在42个网点用。有的地方就不报异常,有的一直报,程序都是一样的。但出问题的都是执行ADOCOMMAN那里出的错。按理说如果语句错误的话都应该报错呀!
周药师 2010-08-02
  • 打赏
  • 举报
回复
看样子应该是的SQL语句本省的错误
添加Memo控件 通过这句Memo1->Lines->Add(SQL);
把你最后的SQL的语句,取出来拷贝到查询分析器里看看 到底是什么错误?
aiker666 2010-08-02
  • 打赏
  • 举报
回复
各位高手救命啊!
aiker666 2010-08-02
  • 打赏
  • 举报
回复
就是最后执行ADOCOMMAND的EXCUTE老是有异常,中间省去了若干ADOQUERY操作
AnsiString tmp_hjbh;
AnsiString tmp_ssjgm,tmpzzjgm;
tmp_ssjgm=FormMain1->g_SysManfer.UserName.SubString(1,2);
tmpzzjgm=FormMain1->ReturnJgm(tmp_ssjgm);
bool JTCY_WG;
JTCY_WG=false

this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //逾期贷款 //取出贷款
this->ADOQuery2->SQL->Add("select ye as 余额 from fhdkfhz where zhzt like '21%' and khh='"+this->Editkhh->Text+"' and ye>0 ");

try{this->ADOQuery2->Open();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
//return;
}
if(this->DataSource2->DataSet->RecordCount>=1)
{
ShowMessage("该户有逾期贷款,无法继续!");
return;
}



this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //逾期贷款 //取出贷款
this->ADOQuery2->SQL->Add("select ye as 余额 from fhdkfhz where zhzt like '31%' and khh='"+this->Editkhh->Text+"' and ye>0 ");

try{this->ADOQuery2->Open();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
//return;
}
if(this->DataSource2->DataSet->RecordCount>=1)
{
ShowMessage("该户有呆滞贷款,无法继续!");
return;
}



this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //逾期贷款 //取出贷款
this->ADOQuery2->SQL->Add("select ye as 余额 from fhdkfhz where zhzt like '41%' and khh='"+this->Editkhh->Text+"' and ye>0 ");

try{this->ADOQuery2->Open();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
//return;
}
if(this->DataSource2->DataSet->RecordCount>=1)
{
ShowMessage("该户有呆帐贷款,无法继续!");
return;
}



this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //逾期贷款 //取出贷款
this->ADOQuery2->SQL->Add("select ye as 余额 from fhdkfhz where zhzt like '51%' and khh='"+this->Editkhh->Text+"' ");

try{this->ADOQuery2->Open();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
//return;
}
if(this->DataSource2->DataSet->RecordCount>=1)
{
ShowMessage("该户有核销贷款,无法继续!");
return;
}

this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //得到该户的户籍编号 //取出贷款
this->ADOQuery2->SQL->Add("select HHDM from NYGXD_YSXX where khh='"+this->Editkhh->Text+"' ");

try{this->ADOQuery2->Open();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
// return;
}
AnsiString tmp_hhdm=this->ADOQuery2->FieldByName("HHDM")->AsString;
//找出该户的家庭成员客户号
this->ADOQuery2->Close();
this->ADOQuery2->SQL->Clear(); //得到该户的户籍编号,不包括该客户自己的
this->ADOQuery2->SQL->Add("select KHH,ZT from NYGXD_YSXX where HHDM='"+tmp_hhdm+"' and khh!='"+this->Editkhh->Text+"'");
this->ADOQuery2->Open();
if(this->DataSource2->DataSet->RecordCount<1)
{
}
else//找到了
{
AnsiString temp_zt;

this->ADOQuery2->First();//从第一条记录开始
while(!this->ADOQuery2->Eof)
{
temp_zt=this->ADOQuery2->FieldByName("ZT")->AsString;
if(temp_zt=="待审批"||temp_zt=="已驳回")
{
this->ADOQuery2->Next();
continue;
}
AnsiString tmp_tmpkhh;
tmp_tmpkhh=this->ADOQuery2->FieldByName("KHH")->AsString;

this->ADOQuery4->Close();
this->ADOQuery4->SQL->Clear(); //判断该户家庭成员是否有贷款未结清
this->ADOQuery4->SQL->Add("select ye from fhdkfhz where khh='"+tmp_tmpkhh+"' and zhzt like '21%' and ye>0");
this->ADOQuery4->Open();
if(this->DataSource4->DataSet->RecordCount>=1)
{
ShowMessage("该客户家庭成员有贷款逾期,禁止放贷!");
JTCY_WG=true;
break;
}

this->ADOQuery4->Close();
this->ADOQuery4->SQL->Clear(); //判断该户家庭成员是否有贷款未结清
this->ADOQuery4->SQL->Add("select ye as 余额 from fhdkfhz where khh='"+tmp_tmpkhh+"' and zhzt like '31%' and ye>0");
this->ADOQuery4->Open();
if(this->DataSource4->DataSet->RecordCount>=1)
{
ShowMessage("该客户家庭成员有呆滞贷款,禁止放贷!");
JTCY_WG=true;
break;
}

this->ADOQuery4->Close();
this->ADOQuery4->SQL->Clear(); //判断该户家庭成员是否有贷款未结清
this->ADOQuery4->SQL->Add("select ye as 余额 from fhdkfhz where khh='"+tmp_tmpkhh+"' and zhzt like '41%' and ye>0");
this->ADOQuery4->Open();
if(this->DataSource4->DataSet->RecordCount>=1)
{
ShowMessage("该客户家庭成员有呆账贷款,禁止放贷!");
JTCY_WG=true;
break;
}



this->ADOQuery4->Close();
this->ADOQuery4->SQL->Clear(); //判断该户是否有核销贷款
this->ADOQuery4->SQL->Add("select zh as 帐号 from fhdkfhz where khh='"+tmp_tmpkhh+"' and zhzt like '51%'");
this->ADOQuery4->Open();
if(this->DataSource4->DataSet->RecordCount>=1)
{
ShowMessage("该客户家庭成员有贷款核销,禁止放贷!");
JTCY_WG=true;
break;
}
this->ADOQuery2->Next();

}//end while
if(JTCY_WG==true)
{
return;
}

this->ADOCommand1->CommandText="insert into NYGXD_JJXX(XM,KHH,JTZZ,DKYT,JKRQ,DQRQ,JKJE,JKFS,HKFS,JXFS,DKZH,CKZH,SJM,JGM,XDY,DKPZ) values ('"+this->Editxm->Text+"','"+this->Editzjhm->Text+"','"+this->Editjtzz->Text+"','"+this->ComboBoxdkyt->Text+"','"+tmpdate_begin+"','"+tmpdate_end+"','"+this->Editjkje->Text+"','"+this->ComboBoxjkfs->Text+"','"+this->ComboBoxhkfs->Text+"','"+this->ComboBox1->Text+"','"+this->Editdkzh->Text+"','"+this->Editckzh->Text+"','"+this->Editsjm->Text+"','"+tmpzzjgm+"','"+this->Editxdy->Text+"','"+this->ComboBox2->Text+"')";

try{this->ADOCommand1->Execute();}
catch(...)
{
ShowMessage("网络不稳定,如果操作不成功请重试!!");
//return;
}
ShowMessage("保存成功,请等待打印");
tmp_num++;
周药师 2010-08-02
  • 打赏
  • 举报
回复
贴异常,贴代码
指出哪行代码 出什么错
zzbinfo 2010-08-02
  • 打赏
  • 举报
回复
没有sql语句,没有代码,这个错误我也没有办法try,也catch不到

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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