ADOconnection 事务处理例子

 

 

  
  conn:=tadoconnection.create();  
  conn.begintrans();  
  try  
   
  .....  
  .....  
  conn.commit();  
  conn.free;  
  conn:=nil;  
   
   
  except  
  conn.rollback();  
  conn.free;  
  conn:=nil;  
  end;  

 

 

----------------

Void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
  /*///  
  //   函数功能:当用户输入数据后,添加程序先判断是否在数据库中已经存在  
  //                       相同的记录内容,如果没有,则提示要求用户最后确认,如果  
  //                       用户确认,则使用事务处理添加数据  
  //   执行环境:BCB5   Up1   +   SQL   SERVER2000   +   ADO  
  //   Author:       bearbaba  
  //   Create:       20020510  
  ///*/  
   
   
          Integer   j;             //申明的变量J用来获取Select查询的结果,如果结果不等于0则说明已经存在相同的记录  
          ADOQuery1->SQL->Clear();  
          ADOQuery1->SQL->Add("SELECT   count(*)   FROM   BZ_lab   WHERE   Name   =   :'"+Edit1->Text+"'");  
          ADOQuery1->Open();  
          j=ADOQuery1->RecordCount;  
   
          if(j!=1){  
   
                  if   (   Application->MessageBox("确认你的输入吗?",   NULL,   MB_OKCANCEL)==   IDOK){  
                        ADOConnection1->BeginTrans();  
                        try{  
                              ADOQuery1->SQL->Text   =   "INSERT   BZ_lab(EX_No,Name,ShortName,Sign)   VALUES(1,'"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"')";  
                              ADOQuery1->ExecSQL();  
                        }catch(...)  
                        {  
                              ADOConnection1->RollbackTrans();  
                        }  
                        ADOConnection1->CommitTrans();  
                        ADOTable1->Refresh();  
                  }  
          }  
          else  
                ShowMessage("已经存在相同的记录,请求被拒绝!");  
  }   
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值