C#編程之事務用法
本文實例講述了C#編程之事務用法。分享給大家供大家參考,具體如下:
ado.net2.0的SqlTransaction使用方法
/////ado.net1.0中使用Transacation(事務) string connectionString = "database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPC\\SQL2005"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlTransaction transaction = conn.BeginTransaction(); try { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = ""; cmd.Transaction = transaction; cmd.ExecuteNonQuery(); transaction.Commit();//提交事務 } } catch { transaction.Rollback();//事務回滾 } /////2.0中使用事務 string connectionString = "database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPC\\SQL2005"; string connectionStringTwo = "database=Test;pwd=admin;uid=sa;server=DATABASE-VPC\\SQL2005"; using (TransactionScope transaction = new TransactionScope())//使用事務 { try { using (SqlConnection conn = new SqlConnection(connectionString)) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = "insert into [member] (name) values ('test')"; cmd.CommandType = CommandType.Text; cmd.Connection = conn; conn.Open(); cmd.ExecuteNonQuery(); } } using (SqlConnection conn = new SqlConnection(connectionStringTwo)) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = "insert into [member] (name) values ('test')"; cmd.CommandType = CommandType.Text; cmd.Connection = conn; conn.Open(); cmd.ExecuteNonQuery(); } } transaction.Complete();//就這句就可以了。 } catch (Exception ex) { MessageBox.Show(ex.Message); } }
ado.net1.0與ado.net2.0中對比
1.0中不能跨數(shù)據(jù)庫,速度慢
2.0中可以跨數(shù)據(jù)庫,2.0中不再使用com+,速度比1.0快50%(因為它不用把大量的時間消耗在查找在com+中)
2.0中的事務會自動判斷使用何種事務(不用您考慮是簡單事務還是分部式事務)。
2.0中的Transactions新添加了命名空間。沒有com+注冊和com+的開銷。
希望本文所述對大家C#程序設計有所幫助。
相關文章
C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像
C#提供的PictureBox控鍵默認情況下是方形的非常大的影響美觀,怎么解決這一問題呢?下面小編給大家?guī)砹薈# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像的操作代碼,感興趣的朋友一起學習下吧2021-08-08Parallel.For循環(huán)與普通for循環(huán)的性能比較
這篇文章介紹了Parallel.For循環(huán)與普通for循環(huán)的性能比較,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04