`

SqlTransaction事务的用法

阅读更多

使用SqlTransaction实现数据库操作事务

 

SqlTransaction类是对SQL Server数据库进行事务处理的类,该类的实例由SqlConnection类实例的BeginTransaction方法创建,表示在该数据库连接实例上开始一个数据库事务,创建SqlTransaction类实例后,在程序中使用该实例的Commit方法提交事务,或者使用该类的Rollback方法回滚事务。

 

 

SqlTransaction示例

 

下面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例演示如何使用BeginTransactionCommitRollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。

 

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CNTVS.TOOLS;
 
public partial class _Default : System.Web.UI.Page 
{
     protected void Page_Load(object sender, EventArgs e)
     {
         
     }
     protected void Button1_Click(object sender, EventArgs e)
     {
         SqlConnection conn = Database.GetConn();
         SqlTransaction st = conn.BeginTransaction();
         try
         {
            
             string sql = "Insert Into T_Test(F_Name) values('A')";            
             Database.ExecuteNonQuery(st, CommandType.Text, sql);
 
            //这里会报错,在挂起的事务中,该事务分配的连接,不能再独占使用
             //string A = Database.ExecuteScalarToStr(conn,CommandType.Text,"Select F_ID From T_Test where F_Name='A'");
             
             sql = "Insert Into T_Test2(F_ID,F_Age) values(1,2)";
             Database.ExecuteNonQuery(st, CommandType.Text, sql);
             st.Commit();           
           
         }
         catch (Exception Ex)
         {
             st.Rollback();
             Website.WriteError(Ex);
         }
         finally 
         {
             Database.Dispose(conn);
         }
     }
 }

 

 

 

参考资料:    SqlTransaction事务的用法     http://www.studyofnet.com/news/193.html

分享到:
评论

相关推荐

    c#中SqlTransaction——事务详解

    本篇文章将详细探讨SqlTransaction的使用方法及其重要性。 事务处理的基本原理是确保一系列数据库操作作为一个不可分割的工作单元执行。如果这个单元中的所有操作都能成功完成,那么事务会被提交,所有的更改会永久...

    C#编程之事务用法

    ado.net2.0的SqlTransaction使用方法 /////ado.net1.0中使用Transacation(事务) string connectionString = database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPC\\SQL2005; using (SqlConnection conn = new...

    asp.net 中事务处理案例

    在ASP.NET中,我们可以使用SqlTransaction对象来管理SQL Server数据库中的事务。SqlTransaction对象是System.Data.SqlClient命名空间的一部分,它允许我们开始、提交或回滚数据库事务。下面是如何创建和使用...

    c# 事务的写法一看就会写

    * 使用 `SqlTransaction` 对象:这是最常用的方式,使用 `SqlTransaction` 对象可以实现事务处理。 * 使用 `TransactionScope` 对象:这是一个更高级的方式,使用 `TransactionScope` 对象可以实现事务处理,并且...

    C#中的事务处理,数据库编程中常用

    4. **提交或回滚事务**:如果所有的操作都成功,使用`SqlTransaction`对象的`Commit()`方法提交事务;如果有任何错误,调用`Rollback()`方法回滚事务。 ```csharp try { // SQL操作 transaction.Commit(); } ...

    Sql Server数据库事务介绍

    二、SqlTransaction事务 SqlTransaction是Sql Server提供的一种事务机制,可以手动控制事务的提交和回滚。例如: ```csharp using (SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=...

    一个简单的方法来实现数据库的事务

    下面将介绍一种使用.NET框架中的`SqlTransaction`对象实现简单事务处理的方法。 #### 三、使用.NET Framework中的SqlTransaction实现事务 1. **创建连接**:首先需要创建一个到数据库的连接。 2. **启动事务**:...

    net中事务循环net中事务循环

    代码示例展示了如何在.NET中使用`SqlConnection`和`SqlTransaction`来实现事务控制: ```csharp SqlConnection conn = new SqlConnection(VAT.Config.GlobeParameter.GetStrConnection()); SqlTransaction trans; ...

    CSharp数据库事务原理及实践.rar_C#事务逻辑_c# ef 事务开发_c# 使用事务_c# 数据库事务_c#什么是事务

    C#_使用事务不仅限于EF,我们也可以直接使用ADO.NET,通过SqlConnection的BeginTransaction()方法创建一个SqlTransaction对象,然后在操作数据库的过程中,利用Transaction属性进行控制。这种方式更加底层,灵活性更...

    C# 事务处理机制

    - 如果所有操作都成功,调用SqlTransaction的Commit()方法提交事务,将更改保存到数据库。 - 如果在执行过程中出现错误,调用Rollback()方法回滚事务,撤销所有更改,保持数据库的一致性。 3. **控件处理与代码...

    .NET简谈事务、分布式事务处理

    在ADO.NET中,可以使用`SqlConnection`类的方法`BeginTransaction()`来启动一个事务。事务可以通过调用`Transaction.Commit()`方法提交,或者通过`Transaction.Rollback()`方法回滚。 **示例代码**: ```csharp ...

    c#事务的运用

    ADO.NET事务是通过`System.Data.SqlClient.SqlTransaction`类来实现的,它允许在同一数据库连接上进行多条SQL语句的事务处理。这种方式简单易用,但不支持跨数据库事务。示例如下: ```csharp public void ...

    含有事务操作的sqlhelper类C#

    3. **使用SQLHelper执行命令**:在事务中,你可以使用SQLHelper的静态方法如`ExecuteNonQuery`、`ExecuteScalar`或`ExecuteReader`来执行SQL命令。这些方法接受一个SqlTransaction参数,将命令绑定到当前事务中。 4...

    在.net中如何使用事务

    2. **创建事务**:使用`SqlConnection`对象的`BeginTransaction`方法开始一个新的事务。 3. **关联事务**:将`SqlTransaction`对象与`SqlCommand`对象关联起来,这样所有的SQL命令都会在这个事务上下文中执行。 4....

    sql数据库事务机制详解

    上述代码演示了如何在C#中使用`SqlConnection`和`SqlTransaction`对象来开始一个事务,执行更新操作,并根据是否成功决定提交还是回滚事务。 #### 结论 事务机制是SQL数据库中确保数据一致性和完整性的重要手段。...

    C#调用SQL Server事务的简单实例

    5. 如果所有操作成功,提交事务(SqlTransaction的Commit方法);如果出现错误,回滚事务(Rollback方法)。 6. 关闭并释放所有资源。 示例代码: ```csharp using (SqlConnection connection = new SqlConnection...

    C#数据库事务原理及实践

    如果所有操作都成功,可以使用`Commit`方法提交事务,将所有更改保存到数据库: ```csharp try { // 执行SQL命令,比如更新库存 SqlCommand command1 = new SqlCommand("UPDATE Products SET Stock -= 1 WHERE ID...

    sql数据库 事务机制详解

    例如,可以使用`System.Data.SqlClient.SqlConnection`的`BeginTransaction()`方法开启一个事务,`Commit()`或`Rollback()`方法分别提交或回滚事务。下面是一个简单的C#示例: ```csharp using (SqlConnection ...

    使用事务批量修改数据库

    2. **事务开启**:使用`BeginTransaction`方法开始一个新事务,并指定事务的隔离级别为`RepeatableRead`。 3. **执行SQL语句**:通过循环遍历传递进来的SQL语句列表(`ArrayList`类型),并依次执行每个SQL语句。 4. *...

    VB.NET 2008事务处理示例

    2. **ADO.NET事务管理**:在ADO.NET中,我们通常使用`System.Data.SqlClient.SqlTransaction`类来处理SQL Server的事务。首先,我们需要打开一个连接,然后创建一个事务对象,并在连接上开始事务。 3. **多适配器...

Global site tag (gtag.js) - Google Analytics