本文所述为C#事务处理(Execute Transaction)的一个实例,包含了创建SqlTransaction 对象并用SqlConnection对象的BeginTransaction()方法开始事务,创建保存SQL语句,将SqlCommand对象的CommandText属性设置为第一个INSERT语句,第一个INSERT语句在Customers表中增加一行,提交事务,使INSERT语句增加的两行在数据库中保存起来。
具体的实例代码如下:
using System; using System.Data; using System.Data.SqlClient; namespace ExecuteTransaction { /// <summary> /// ExecuteTransaction 的摘要说明。 /// </summary> public class ExecuteTransaction { public static void Main() { SqlConnection mySqlConnection = new SqlConnection( \"server=localhost;database=Northwind;uid=sa;pwd=sa\" ); mySqlConnection.Open(); // 创建SqlTransaction 对象并用SqlConnection对象的 // BeginTransaction()方法开始事务 SqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction(); // 创建保存SQL语句 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); // 将Transaction属性设置为上面所生成的SqlTransaction对象 mySqlCommand.Transaction = mySqlTransaction; // 将SqlCommand对象的CommandText属性设置为第一个INSERT语句, // 第一个INSERT语句在Customers表中增加一行 mySqlCommand.CommandText = \"INSERT INTO Customers (\" + \" CustomerID, CompanyName\" + \") VALUES (\" + \" \'Micro\', \'Microsoft Corporation\'\" + \")\"; // 执行第一个INSERT语句 Console.WriteLine(\"Running first INSERT statement\"); mySqlCommand.ExecuteNonQuery(); // 将SqlCommand对象的CommandText属性设置为第二个INSERT语句, // 第二个INSERT语句在Orders表中增加一行 mySqlCommand.CommandText = \"INSERT INTO Orders (\" + \" CustomerID\" + \") VALUES (\" + \" \'Micro\'\" + \")\"; // 执行第二个INSERT语句 Console.WriteLine(\"Running second INSERT statement\"); mySqlCommand.ExecuteNonQuery(); // 提交事务,使INSERT语句增加的两行在数据库中保存起来 Console.WriteLine(\"Committing transaction\"); mySqlTransaction.Commit(); mySqlConnection.Close(); } } }
本文地址:https://www.stayed.cn/item/11141
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我