SqlTransaction 数据库编程事务使用示例
来源:互联网 发布:手机淘宝怎么签到 编辑:程序博客网 时间:2024/05/05 20:52
在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行异常处理。如果连接终止或事务已在服务器上回滚,则 Commit 和 Rollback 都会生成 InvalidOperationException。
下面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例还演示如何使用 BeginTransaction、Commit 和 Rollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。
下面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例还演示如何使用 BeginTransaction、Commit 和 Rollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。
using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Transactions;
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString()))
{
conn.Open();
SqlTransaction _transaction = conn.BeginTransaction();
try
{
SqlCommand _cmd = new SqlCommand("Insert Into T_Test(F_Name) values(@Name)",conn);
_cmd.Parameters.Add(new SqlParameter("@Name", "Test1"));
_cmd.Transaction = _transaction;
_cmd.ExecuteNonQuery();
_cmd.Parameters.Clear();
_cmd.Parameters.Add(new SqlParameter("@Name", "Test2" + new String('2', 100)));
_cmd.ExecuteNonQuery();//F_Name为Nvarchar(50),这里会报错
_transaction.Commit();
Response.Write("二条记录已经成功入库!");
}
catch (Exception ex)
{
Response.Write("发生错误:" + ex.Message.ToString());
try
{
_transaction.Rollback();
Response.Write("<br/>事务已成功回滚!");
}
catch (Exception ex2)
{
Response.Write("<br/>回滚失败:" + ex2.Message.ToString());
}
}
_transaction.Dispose();
}
}
using System.Configuration;
using System.Data.SqlClient;
using System.Transactions;
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString()))
{
conn.Open();
SqlTransaction _transaction = conn.BeginTransaction();
try
{
SqlCommand _cmd = new SqlCommand("Insert Into T_Test(F_Name) values(@Name)",conn);
_cmd.Parameters.Add(new SqlParameter("@Name", "Test1"));
_cmd.Transaction = _transaction;
_cmd.ExecuteNonQuery();
_cmd.Parameters.Clear();
_cmd.Parameters.Add(new SqlParameter("@Name", "Test2" + new String('2', 100)));
_cmd.ExecuteNonQuery();//F_Name为Nvarchar(50),这里会报错
_transaction.Commit();
Response.Write("二条记录已经成功入库!");
}
catch (Exception ex)
{
Response.Write("发生错误:" + ex.Message.ToString());
try
{
_transaction.Rollback();
Response.Write("<br/>事务已成功回滚!");
}
catch (Exception ex2)
{
Response.Write("<br/>回滚失败:" + ex2.Message.ToString());
}
}
_transaction.Dispose();
}
}
- SqlTransaction 数据库编程事务使用示例
- C#使用SqlConnection的事务SqlTransaction
- 不直接用SqlTransaction也能实现数据库事务——简单的SqlTransaction方法
- VB.NET 中操作数据库应用事务,SqlTransaction
- Transact-SQL事务与SqlTransaction和TransactionScope的使用
- 10.10using语句使用,SqlTransaction对象启动事务,导入数据
- sqlconnection, sqlcommand, sqltransaction,SqlParameter连接数据库的几个对象使用
- SqlTransaction——事务详解
- SqlTransaction——事务详解
- SqlTransaction——事务详解
- SqlTransaction——事务详解
- SqlTransaction——事务详解
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法 (转载)
- Sql Server数据库事务介绍Sql语句,SqlTransaction和TransactionScope的使用方法
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- 添加自动job来分析数据表提高SQL执行效率
- 2008年8月22号,星期五,晴。丈夫志四海,万里犹比邻。 —— 曹 植《赠白马王彪》今天是我博士生涯的第47天
- 2008年8月23号,星期六,晴。有志者事竟成。 ——《后汉书•耿 列传》今天是我博士生涯的第48天,今天是星期六,这里的自我批评一次,昨天是我太太的生日,我几乎都给忘了,以后不能忘了。
- 关于CListCtrl显示bmp图片问题的解决
- 内存泄露检测工具
- SqlTransaction 数据库编程事务使用示例
- 使用 JMeter 完成常用的压力测试
- 从反CNN网站被黑看未来网络战争趋势(转载http://www.hacker.com.cn/ 2008-4-18 9:51:40 黑客防线)
- executeQuery、executeUpdate 和 execute的区别
- 多用户数据库的连接方法
- 第一篇,小小的开始
- 初识Visual Leak Detector
- APACHE MINA (异步连接框架)介绍
- 使用 Apache MINA 开发高性能网络应用程序