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

 更新时间:2014年08月04日 11:22:36   投稿:shichen2014  
这篇文章主要介绍了C#事务处理(Execute Transaction)实例解析,对于理解和学习事务处理有一定的帮助,需要的朋友可以参考下

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

相关文章

  • C#命令模式(Command Pattern)实例教程

    C#命令模式(Command Pattern)实例教程

    这篇文章主要介绍了C#命令模式(Command Pattern),以实例的形式讲述了命令模式通过一个指令来控制多个类的多个方法,需要的朋友可以参考下
    2014-09-09
  • C#实现判断图形文件格式的方法

    C#实现判断图形文件格式的方法

    这篇文章主要介绍了C#实现判断图形文件格式的方法,包括常见的扩展名判定及文件内容判定等,非常实用,需要的朋友可以参考下
    2014-09-09
  • Unity实现场景漫游相机

    Unity实现场景漫游相机

    这篇文章主要为大家详细介绍了Unity实现场景漫游相机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • C#实现绘制随机噪点和直线

    C#实现绘制随机噪点和直线

    这篇文章主要为大家详细介绍了C#如何实现绘制随机噪点和直线,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-01-01
  • c#正反序列化XML文件示例(xml序列化)

    c#正反序列化XML文件示例(xml序列化)

    这篇文章主要介绍了c#正反序列化XML文件示例,可以将对象序列化为XML文本或者文件,或者将XML文件或文本反序列化为对象,要求进行序列化的对象不能出现序列化异常,支持类的嵌套,要求类的属性为public
    2014-03-03
  • 深入理解c# checked unchecked 关键字

    深入理解c# checked unchecked 关键字

    本篇文章是对c#中的checked unchecked 关键字进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#使用RabbitMQ发送和接收消息工具类的实现

    C#使用RabbitMQ发送和接收消息工具类的实现

    RabbitMQ是一个消息的代理器,用于接收和发送消息,本文主要介绍了C#使用RabbitMQ发送和接收消息工具类的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • C#9新特性之增强的模式匹配

    C#9新特性之增强的模式匹配

    这篇文章主要介绍了C#9新特性之增强的模式匹配,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C# 递归查找树状目录实现方法

    C# 递归查找树状目录实现方法

    这篇文章主要介绍了C# 递归查找树状目录实现方法,需要的朋友可以参考下
    2014-02-02
  • DevExpress实现根据行,列索引来获取RepositoryItem的方法

    DevExpress实现根据行,列索引来获取RepositoryItem的方法

    这篇文章主要介绍了DevExpress实现根据行,列索引来获取RepositoryItem的方法,需要的朋友可以参考下
    2014-08-08

最新评论