敖士伟 事务 体会一
来源:互联网 发布:软件企业评估减税 编辑:程序博客网 时间:2024/06/05 00:52
如果SqlCommand依附的连接上有事务,那么对必须给SqlCommand指定事务.不然出现异常:
异常详细信息: System.InvalidOperationException: 如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化。
代码:
2.事务的Rollback()操作其实是使用了与sql相反的操作,如insert的Rollback为delete.
意思就是在Rollback之前,sql已真实地去数据库进行了操作.
3.事务是引用类型,其它过程对其的操作会影响它.
异常详细信息: 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();
意思就是在Rollback之前,sql已真实地去数据库进行了操作.
3.事务是引用类型,其它过程对其的操作会影响它.
- 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无效
- }
- 敖士伟 事务 体会一
- 敖士伟事务体会二
- 事务体会
- 毕业体会(一)
- 高效编程体会一
- java 学习心得体会(一)
- C++学习心得体会一
- 公司实习体会一
- 【事务一】数据库事务
- 事务(一)
- linux读书体会(一)
- linux读书体会(一)
- "Online Dictionary" 项目体会一
- dev2dev techDays SOA 体会一
- 汉得实习体会一
- 程序学习心得体会一谈
- Java 编程体会(一)
- 项目一 体会深复制
- IList、ICollection、IEnumerable 之辨析
- 绑定用户控件button事件
- 数据存储到什么地方?--内存分配
- rails "No route matches" 错误的解决方法
- JS Error:'document.form.name' 为空或不是对象
- 敖士伟 事务 体会一
- N81主题收藏
- Java编程那些事儿68——抽象类和接口(一)
- STL中容器的类型和基本特征——《c++ primer plus第五版》学习小结(转)
- Be careful to use iterator - vector.begin()
- Delphi启动和关闭外部应用程序
- Eclipse中的图片资源管理
- 安装大型 Linux 集群,第 1 部分: 简介和硬件配置
- 数据检索-多表查询(sybase)