c#添加事物(全部执行和带保存点的执行)
全部执行
protected void Button2_Click(object sender, EventArgs e)
{
// 执行事务
SqlConnection con = new SqlConnection(str);
con.Open();
SqlTransaction tran = con.BeginTransaction(); try
{
SqlCommand cmd1 = new SqlCommand("INSERT INTO Code( name ) VALUES ( 'ww1')", con);
SqlCommand cmd2 = new SqlCommand("INSERT INTO Code( name ) VALUES ( 'ww2')", con);
cmd1.Transaction = tran;
cmd2.Transaction = tran;
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
tran.Commit();
}
catch
{
tran.Rollback();
}
finally
{
con.Close();
GetData();
}
}
执行带保存点的事务
protected void Button3_Click(object sender, EventArgs e)
{
// 执行带保存点的事务
// 执行事务
SqlConnection con = new SqlConnection(str);
con.Open();
SqlTransaction tran = null;
tran = con.BeginTransaction();
try
{
SqlCommand cmd1 = new SqlCommand("INSERT INTO Code( name ) VALUES ( 'ww3')", con);
SqlCommand cmd2 = new SqlCommand("INSERT INTO Code( name ) VALUES ( 'ww4')", con);
cmd1.Transaction = tran;
cmd1.ExecuteNonQuery();
tran.Save("One");
cmd2.Transaction = tran;
cmd2.ExecuteNonQuery();
tran.Rollback("One");
tran.Commit();
}
catch
{
tran.Rollback(); }
finally {
con.Close();
GetData();
}
}
效果图
c#添加事物(全部执行和带保存点的执行)的更多相关文章
- Unity3D中自带事件函数的执行顺序(转)
原文:http://www.jianshu.com/p/1d93ece664e2 在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行.其执行顺序如下: 编辑器(E ...
- [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存
文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html 本文介绍iptables这个Linux下最强大的 ...
- Unity3D中自带事件函数的执行顺序
在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行.其执行顺序如下: 编辑器(Editor) Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对 ...
- Sql Server 带参数的存储过程执行方法
Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...
- windows linux 使用python执行系统命令并将结果保存到变量
最近需要用到os.system 发现不能赋值到变量 后查有更新的模块,如下: os.system os.spawn* os.popen* popen2.* commands.* 重新使用content ...
- CAD执行一个带参数的命令(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::Mx_SendStringToExecute 执行一个带参数的命令.详细说明如下: 参数 说明 CString sCmaName 命令 ...
- nodejs命令行执行时带参数
nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867 今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...
- Spring整合Quartz定时任务执行2次,Spring定时任务执行2次
Spring整合Quartz定时任务执行2次,Spring定时任务执行2次 >>>>>>>>>>>>>>>&g ...
- mysql从5.5直接升级到5.7后,执行mysql_upgrade速度很慢且执行结束后数据目录大小增加一倍及 mysqlpump备份出现1577错误
mysql官网不支持夸大版本升级,比如跳过5.6直接升级到5.7,但由于一些客观原因,项目需要从5.5直接升级到5.7,以下是具体操作 1.备份之前mysql,(数据量少,可直接拷贝安装目录及data ...
随机推荐
- Robot FrameWork 教程链接
1. Robot Framework 教程: http://cgmblog.sinaapp.com/html/category/robot-framework 2. Robot Framework ...
- ultraedit删除空行(含空格,tab,制表符等怪字符)
打开ultraedit,ctrl+r弹出替换对话框,点选启用正则表达式 在查找框输入 ^p^p 在替换框输入 ^p 仍有部分空行还在,继续处理: 查找框中输入:%[ ^t]++^p,注意^t之前有空 ...
- NHibernate 帮助类(单例实际运用)
在NHibernate中,ISessionFactory是线程安全的,对应一个数据库.它是生成ISession的工厂.而ISession是线程不安全的. 创建一个ISessionFactory需要消耗 ...
- NOI2012 骑行川藏
http://www.lydsy.com/JudgeOnline/problem.php?id=2876 表示完全不会...... 还是跪拜大神吧 http://www.cnblogs.com/Ger ...
- JavaScript闭包函数的写法
<script type="text/javascript"> //通过js内置的函数构造器创建函数 var func=new Function('a','b','re ...
- #爬虫必备,解析html文档----beautifulsoup的简单用法
#出处:http://mp.weixin.qq.com/s?__biz=MjM5NzU0MzU0Nw==&mid=201820961&idx=2&sn=b729466f334d ...
- jsf标签,jsp标签与jstl标签
JSF通过定制标签与JSP集成.之前展示过的所有 JSF标签,<h:inputText>.<h:outputText>.<h:form> 和<f:view&g ...
- Counting Squares_hdu_1264(矩阵).java
Counting Squares Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- JavaScript 函数基础
1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call : 将函数作为对象的 ...
- openssl 摘要和签名验证指令dgst使用详解
1.信息摘要和数字签名概述 信息摘要:对数据进行处理,得到一段固定长度的结果,其特点输入: 1.输出长度固定.即输出长度和输入长度无关. 2.不可逆.即由输出数据理论上不能推导出输入数据 4.对输入数 ...