C#事务处理(Execute Transaction)实例解析
作者:shichen2014 时间:2022-04-12 15:32:43
本文所述为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#,事务处理,Execute,Transaction
0
投稿
猜你喜欢
TOMCAT内存溢出及大小调整的实现方法
2023-02-24 06:55:33
java多线程Future和Callable类示例分享
2021-09-02 09:49:37
Java利用openoffice将doc、docx转为pdf实例代码
2023-08-07 23:44:34
Java单例模式的几种常见写法
2023-10-23 18:27:45
Struts2配置文件中使用通配符的方法(三种形式)
2022-08-21 01:53:40
Spring实现一个简单的SpringIOC容器
2023-02-06 21:03:43
Maven 主模块和子模块pom.xml依赖声明
2022-09-12 21:20:10
springboot整合quartz项目使用案例
2023-02-13 19:57:12
mybatis Interceptor对UpdateTime自动处理的实现方法
2023-10-13 16:02:20
VS2019打包WPF安装程序最新教程(图文详解)
2021-11-18 15:52:08
java开发BeanUtils类解决实体对象间赋值
2022-08-25 06:31:25
C# 实现QQ式截图功能实例代码
2022-04-04 03:48:12
mybatisplus中EntityWrapper的常用方法
2022-11-09 21:52:00
Java中线程状态+线程安全问题+synchronized的用法详解
2023-08-23 08:38:07
springboot项目中jackson-序列化-处理 NULL教程
2022-11-03 14:36:21
Spring Bean创建和循环依赖
2023-10-21 09:17:51
MyBatis环境资源配置实现代码详解
2023-08-05 08:59:02
Java设计模式之原型模式详解
2021-09-06 19:04:49
Android切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题的解决方法
2023-07-21 10:51:45
SpringBoot项目部署到腾讯云的实现步骤
2023-01-01 16:58:55