程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC中向數據庫插數據,執行“UPDATE()”時,出現異常:無法更新,當前被鎖定

VC中向數據庫插數據,執行“UPDATE()”時,出現異常:無法更新,當前被鎖定

編輯:vc教程

1.  換成事務處理

事務處理是數據庫提供的,跟ADO或VC沒有關系,  
   
  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

3.數據格式,數據是否為空

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved