博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库事务
阅读量:5042 次
发布时间:2019-06-12

本文共 1513 字,大约阅读时间需要 5 分钟。

方法一:

/// <summary>

/// 执行多条SQL语句,实现数据库事务
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
/// <returns>执行事务影响的行数</returns>
public static int ExecuteSqlTran(string connectionString, List<String> SQLStringList)
{
using (SqlConnection conntion = new SqlConnection(connectionString))
{
conntion.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conntion;

SqlTransaction ts = conntion.BeginTransaction();

cmd.Transaction = ts;
try
{
int count = 0;
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n];
if (strsql.Length > 1)
{
cmd.CommandText = strsql;
count += cmd.ExecuteNonQuery();
}
}
ts.Commit();//提交数据库事务
return count;
}
catch
{
ts.Rollback();
return 0;
}
}
}

方法二:

/// <summary>

/// 执行多条SQL语句,实现数据库事务
/// </summary>
/// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>
public static void ExecuteSqlTran(string connectionString, Hashtable SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
SqlCommand cmd = new SqlCommand();
try
{
//循环
foreach (DictionaryEntry myDY in SQLStringList)
{
string cmdText = myDY.Key.ToString();
SqlParameter[] parameter = (SqlParameter[])myDY.Value;
PrepareCommand(cmd, conn, trans, cmdText, parameter);
int result = cmd.ExecuteNonQuery(); //这里可以记录该事务的执行结果
cmd.Parameters.Clear();
}
trans.Commit();
}
catch
{
trans.Rollback();
throw;
}
}
}
}

转载于:https://www.cnblogs.com/wangfei1511/p/3673021.html

你可能感兴趣的文章
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>