敖士伟 事务 体会一
2.事务的Rollback()操作其实是使用了与sql相反的操作,如insert的Rollback为delete. 意思就是在Rollback之前,sql已真实地去数据库进行了操作. 3.事务是引用类型,其它过程对其的操作会影响它.
发布日期:2021-07-17 20:20:33
浏览次数:2
分类:技术文章
本文共 1469 字,大约阅读时间需要 4 分钟。
如果SqlCommand依附的连接上有事务,那么对必须给SqlCommand指定事务.不然出现异常: 异常详细信息: System.InvalidOperationException: 如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化。 代码:- string connString = "Data Source=192.168.0.x;Initial Catalog=test1;User ID=dev_user;Password=dev_user";
- SqlConnection conn = new SqlConnection(connString);
- conn.Open();
- SqlTransaction transaction = conn.BeginTransaction(IsolationLevel.Serializable);
- SqlCommand sqlcomm = new SqlCommand();
- sqlcomm.Connection = conn;
- //sqlcomm.Transaction = transaction;
- sqlcomm.CommandText = "insert into yg(yg_name,b_id) values('b',1)";
- sqlcomm.ExecuteNonQuery();
- transaction.Rollback();
- conn.Close();
- protected void Button1_Click(object sender, EventArgs e)
- {
- string connString = "Data Source=192.168.0.211;Initial Catalog=test1;User ID=dev_user;Password=dev_user";
- SqlConnection conn = new SqlConnection(connString);
- conn.Open();
- SqlTransaction transaction = conn.BeginTransaction(IsolationLevel.Serializable);
- SqlCommand sqlcomm = new SqlCommand();
- sqlcomm.Connection = conn;
- sqlcomm.Transaction = transaction;
- sqlcomm.CommandText = "insert into yg(yg_name,b_id) values('c',1)";
- sqlcomm.ExecuteNonQuery();
- //transaction.Rollback();
- myrollback(transaction);//事务是引用类型,其它过程对其的操作会影响它.
- conn.Close();
- Label1.Text = "ok";
- }
- void myrollback(SqlTransaction transaction)
- {
- transaction.Rollback();//insert无效
- }
转载地址:https://blog.csdn.net/ikmb/article/details/3581236 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年03月11日 09时08分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java矩阵类_Java泛型——泛型矩阵类
2019-04-21
java车牌正则表达式_车牌正则表达式
2019-04-21
安卓是用java语言写的吗_android开发是用java语言吗?
2019-04-21
java 符号 t_java – 运算符”不能应用于’T’,’T’表示有界泛型类型
2019-04-21
用matlab写出信源熵,计算离散信源的熵matlab实现
2019-04-21
php表单yii2,Yii2创建表单(ActiveForm)方法详解
2019-04-21
php 程序授权机制,授权认证详细说明
2019-04-21
java 命令提示符,如何使用Java打开命令提示符并插入命令?
2019-04-21
linux移动文件的脚本,使用Linux脚本移动文件
2019-04-21
linux查看系统所有变量,Linux系统各指标命令
2019-04-21
linux打印机守护程序,linux下怎么编写守护程序呢?
2019-04-21
嵌入式linux 设置时间,time_clock控件应用,使用命令date -s 12:00:00手动设置时间后,时间就停住不走了,我在Ubuntu和嵌入式Linux平台都测试到了...
2019-04-21
linux监控windows,zabbix监控之linux及windows客户端安装配置
2019-04-21
linux中怎么卸载tree,Liunx系统命令中tree命令详解
2019-04-21
linux 网络音箱 混音6,Linux音频编程(三)混音器介绍
2019-04-21
node与mysql开源_node与mysql的相互使用————node+mysql
2019-04-21