VC中向数据库插数据,执行“UPDATE()”时,出现异常:无法更新,当前被锁定

1.  换成事务处理

 

http://www.80diy.com/home/20040401/08/2911206.html

 

事务处理是数据库提供的,跟ADOVC没有关系,  
   
  BeginTrans:
开始一个事务  
  Commit;
事务提交。  
  rollback:
事务回滚。  
   
 
实际上就是在你开始一个事务以后,所有数据库数据的变化和操作都纪录下来,  
 
直到事务提交,如果期间任何的操作不成功,则恢复成事务开始的状态,也就是  
 
回滚。  
 
事务应就可能短,否则会造成死锁。  

 

try  
        {  

open();
          theApp.m_pConnection->BeginTrans();//
幵始事務  
         for(i=1;i<n;i++)  
      {  
      m_pRecordset->AddNew();  
      m_pRecordset->PutCollect("product",_variant_t(str));  
      m_pRecordset->PutCollect("c_date",m_datetime.GetValue());  
      m_pRecordset->PutCollect("create_usr",_variant_t(loguser));  
      m_pRecordset->PutCollect("modi_usr",_variant_t("   "));  
      m_pRecordset->PutCollect("item_no",_variant_t(m_list.GetTextMatrix(i,1)));  
      m_pRecordset->PutCollect("descrip",_variant_t(m_list.GetTextMatrix(i,2)));  
      m_pRecordset->PutCollect("cut_qty",_variant_t(m_list.GetTextMatrix(i,3)));  
      }  
      m_pRecordset->Update();  
      theApp.m_pConnection->CommitTrans();//
提交事務  
      }  
      catch(...)  
      {  
  theApp.m_pConnection->RollbackTrans();//
取消事務  }

close();

 

2 换成INSERT

 

http://topic.csdn.net/t/20030109/15/1342920.html

 

3.数据格式,数据是否为空

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值