揽
揽月
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了如下的语句,想练习一下事务的用法,插入两条记录,把断点设到ShowMessage("插入记录失败!",但是,怎么也执行不到这一句,请大家帮忙解释一下.
不好意思,是用BCB写的代码,不过,我想和delphi应该是一样的.
Button1的onclick()事件;
ADOQuery1->Append();
ADOQuery1->Fieldbyname("id"->AsString="001";
ADOQuery1->Fieldbyname("name"->AsString="hgf";
ADOQuery2->Append();
ADOQuery2->Fieldbyname("id"->AsString="001";
ADOQuery2->Fieldbyname("age"->AsString=20;
Button2的onclick()事件;
ADOConnection1->Begintrans();
try
{
ADOQuery1->UpdateBatch();
ADOQuery2->UpdateBatch();
ADOConnection1->Committrans();
}
catch(const Exception &E)
{
ShowMessage("插入记录失败!"
ADOConnection1->Rollback();
}
两个id都是主键,把id置空后,运行后会出错,但是是系统捕获到的异常,不是我想要的.
不好意思,是用BCB写的代码,不过,我想和delphi应该是一样的.
Button1的onclick()事件;
ADOQuery1->Append();
ADOQuery1->Fieldbyname("id"->AsString="001";
ADOQuery1->Fieldbyname("name"->AsString="hgf";
ADOQuery2->Append();
ADOQuery2->Fieldbyname("id"->AsString="001";
ADOQuery2->Fieldbyname("age"->AsString=20;
Button2的onclick()事件;
ADOConnection1->Begintrans();
try
{
ADOQuery1->UpdateBatch();
ADOQuery2->UpdateBatch();
ADOConnection1->Committrans();
}
catch(const Exception &E)
{
ShowMessage("插入记录失败!"
ADOConnection1->Rollback();
}
两个id都是主键,把id置空后,运行后会出错,但是是系统捕获到的异常,不是我想要的.