关于ADOConnection处理事务的疑惑,请大家帮忙解释一下?(50分)

  • 主题发起人 主题发起人 揽月
  • 开始时间 开始时间

揽月

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置空后,运行后会出错,但是是系统捕获到的异常,不是我想要的.
 
先开始事物
再进行Append();这样的操作
 
试过了,先开始事务,然后再Append也一样.
我使用的ADOConnection是默认的属性,是不是要改一些属性呢.
 
介绍一个jsp 网站 http://bbs.8isp.cn/?u=233
 
看我的网站 网站 http://bbs.8isp.cn/?u=233 上面有答案
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部