C#事务处理(Execute Transaction)实例解析

时间:2021-05-20

本文所述为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(); } }}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章