日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C#事務(wù)

 mybook564 2013-09-24

 

事務(wù)

  

1、創(chuàng)建事務(wù)的結(jié)構(gòu)

SqlConnection   sqlConnection   =   new   SqlConnection();  
  ...初始化連接  
  //   開啟事務(wù)  
  SqlTransaction   sqlTransaction   =   sqlConnection.BeginTransaction();  
  //   將事務(wù)應(yīng)用于Command  
  SqlCommand   sqlCommand   =   new   SqlCommand();  
  sqlCommand.Connection   =   sqlConnection;   
  sqlCommand.Transaction   =   sqlTransaction;     
  try  
  {  
  //   利用sqlcommand進(jìn)行數(shù)據(jù)操作  
  ...  
  //   成功提交  
  sqlTransaction.Commit();  
  }  
  catch(Exception   ex)  
  {  
  //   出錯(cuò)回滾  
  sqlTransaction.Rollback();  
  }  

2、簡單例子

                  {   
                          DataTable   dt   =   new   DataTable();   
                          System.Data.SqlClient.SqlConnection   cnn   =   new   System.Data.SqlClient.SqlConnection("連接字符串");  
                          System.Data.SqlClient.SqlCommand   cm   =   new   System.Data.SqlClient.SqlCommand();  
                          cm.Connection   =   cnn;  
                          cnn.Open();  
                          System.Data.SqlClient.SqlTransaction   trans   =   cnn.BeginTransaction();  
                          try  
                          {  
                                  foreach(DataRow   dr   in   dt.Rows)  
                                  {  
                                          cm.CommandText   =   "update   [表]   set   [數(shù)量]   =   @amount   where   productID   =   @productID";  
                                          cm.Parameters.Add("@amount",SqlDbType.Int);  
                                          cm.Parameters["@amount"].Value   =   Convert.ToInt32(dr["amount"]);  
                                          cm.Parameters.Add("@productID",SqlDbType.VarChar);  
                                          cm.Parameters["@productID"].Value   =   dr["productID"].ToString();  
                                          cm.ExecuteNonQuery();  
                                  }  
                                  trans.Commit();  
                          }  
                          catch  
                          {  
                                  trans.Rollback();  
                          }  
                          finally  
                          {  
                                  cnn.Close();  
                                  trans.Dispose();  
                                  cnn.Dispose();  
                          }  
                  }

3、SQl server中的事務(wù)例子

begin transaction
save transaction A

insert into demo values('BB','B term')
rollback TRANSACTION A

create table demo2(name varchar(10),age int)
insert into demo2(name,age) values('lis',1)
rollback transaction

  insert into demo values('BB','B term')

 commit TRANSACTION A

 commit TRANSACTION  

4、注意

  1。事務(wù)必須在連接打開后BeginTransaction();

  2.事務(wù)添加到SqlCommand(sqlCommand.Transaction   =   sqlTransaction;   )

  3、其他數(shù)據(jù)庫對(duì)應(yīng)做相應(yīng)調(diào)整

  4、可以用微軟提供的一個(gè)dll,很方便.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多