`
sjrhero
  • 浏览: 85653 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

SqlTransaction事务处理

阅读更多

首先新建一个“控制台应用程序”,添加一个类,这里就叫DbHelper吧;在类里面引用以下几个命名空间:

using System.Data;
using System.Data.SqlClient;
using System.Data.Common;

 接着写具体实现,代码如下:

namespace App_02
{
    public class DbHelper
    {
        //声明一个Sql事务对象
        private SqlTransaction STran;
        //声明一个数据库连接对象
        private  SqlConnection con;
        //声明一个SqlCommand对象
        private SqlCommand cmd;
        //DbHelper类默认构造函数
        public DbHelper()
        {
            //实例化连接字符串
            con = new SqlConnection("Data Source = .; Initial Catalog = Book; Integrated Security = true;");
            //打开数据库连接
            con.Open();            
        }
        //测试SqlTransaction事务的方法
        public bool InsertDate()
        {
            bool isAccess = false;
            string sql = "INSERT INTO DLInfo (LoginName, Sex, Moneys) VALUES   ('张三', '男', 20)";
            string sql1 = "INSERT INTO DLInfo (LoginName, Sex, Moneys) VALUES   ('李四', '中国人的一天', 50)";
            try
            {
                //开始数据库事务
                STran= con.BeginTransaction();
                cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.Transaction = STran;
                cmd.CommandText = sql;
                //执行插入操作
                int m = cmd.ExecuteNonQuery();
                cmd.CommandText = sql1;
                //执行插入操作
                int n = cmd.ExecuteNonQuery();
                //提交事务
                STran.Commit();
                isAccess = true;
            }
            catch (Exception ex)
            {
                try
                {
                    //回滚事务
                    STran.Rollback();
                    isAccess = false;
                }
                catch (Exception ee)
                {
                    throw new Exception(ee.ToString());
                }
            }
            //释放资源
            con.Dispose();
            return isAccess;
        }
    }
}

在上例中,第二个字段是性别,在Sql Server中的定义是Nchar(2),所以当超过一个字的时候,Insert会失败,接着会执行回滚操作。

 有关SqlTransaction的更多知识参见MSDN:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqltransaction(VS.80).aspx

1
5
分享到:
评论

相关推荐

    asp.net 中事务处理案例

    ASP.NET是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的功能来支持...在实际开发中,结合使用Session和SqlTransaction进行事务处理,可以有效应对批量数据上传的复杂场景,提高系统的稳定性和用户体验。

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

    在IT领域,尤其是在数据库编程中,事务处理是一个至关重要的概念,尤其在使用C#进行开发时。事务确保了数据的一致性和完整性,是数据库操作的基本单位。本篇将深入探讨C#中的事务处理,以及如何在实践中应用这些知识...

    ASP.NET中的事务处理和异常处理

    ### ASP.NET中的事务处理与异常处理 在ASP.NET开发中,事务处理与异常处理是确保应用程序稳定性和数据一致性的重要组成部分。本文将详细探讨这两个概念及其具体应用方式。 #### 一、事务处理 事务处理主要用于...

    VB.NET 2008事务处理示例

    在VB.NET 2008中,事务处理是确保数据库操作一致性的重要机制。它允许一组数据库操作要么全部成功,要么全部失败,从而避免了数据不一致性的风险。本示例涵盖了如何在VB.NET环境中利用ADO.NET进行事务管理,特别是在...

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

    ### .NET中的事务与分布式事务处理 #### 一、引言 事务处理是现代软件开发中不可或缺的一部分,尤其是在处理数据库操作或需要确保一系列操作原子性的场景下。.NET框架提供了强大的事务支持,允许开发者轻松地在不同...

    C# 事务处理机制

    在IT行业中,尤其是在数据库操作和系统开发中,事务处理机制起着至关重要的作用。本文将深入探讨C#中如何实现事务处理,特别是在处理与数据库交互的场景下,如北风数据库(Northwind Database)的Orders和Order ...

    C# 事务处理的应用

    在C#中,我们可以利用`System.Data.SqlClient`命名空间下的`SqlConnection`和`SqlTransaction`类来实现事务处理。具体来说,事务处理可以分为以下几个步骤: 1. **打开数据库连接**:首先,我们需要创建一个`...

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

    `SqlTransaction` 对象提供了一个事务处理的上下文,可以将多个数据库操作语句组合成一个事务单元。 在上面的代码中,我们首先创建了一个 `SqlCommand` 对象,然后将其连接到一个数据库连接上。接着,我们使用 `...

    ASP.NET事务处理

    ASP.NET事务处理是Web开发中一个...总结来说,ASP.NET事务处理是确保数据完整性和一致性的重要手段,可以通过SqlTransaction或TransactionScope进行管理,理解和熟练应用这些工具是开发高效、可靠的Web应用程序的关键。

    dotnet事务处理方式

    在.NET框架中,事务处理是确保数据库操作一致性、完整性和可靠性的关键机制。当你需要执行一组相关的数据库操作,而这些操作必须全部成功或全部失败时,事务就显得尤为重要。下面我们将详细探讨.NET中的事务处理方式...

    .NET Windows编程系列课程(24):ADO.NET事务处理

    在本课程"ADO.NET事务处理"中,我们将深入学习如何在.NET环境中有效地管理数据库事务,确保数据的一致性和完整性。 事务处理在数据库系统中扮演着至关重要的角色,它保证了多步骤操作的原子性、一致性、隔离性和...

    C#中事务处理和非事务处理方法实例分析

    事务处理在C#中通常通过ADO.NET的SqlConnection对象和SqlTransaction对象来实现。以下是一个简单的事务处理示例: ```csharp string connectionString = ConfigurationManager.ConnectionStrings["DB_Constr"]....

    Asp.Net事务和异常处理 (二)

    在Asp.Net开发中,事务处理是确保数据库操作一致性与完整性的关键机制。事务处理确保一组操作要么全部成功,要么全部回滚,从而避免数据不一致的情况。在本例中,我们将关注Ado.Net中的事务处理,这是一种在.NET环境...

    使用DateTimePicker程序, 当您进一步完善后,可以加入事务处理(C#源代码编写)

    这篇教程将深入探讨如何使用DateTimePicker控件,并讨论如何在您的应用程序中添加事务处理功能。 首先,让我们了解DateTimePicker的基本用法。在C#中,DateTimePicker是System.Windows.Forms命名空间下的一个类。要...

    c#事务的运用

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

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

    例如,以下是一个简单的C# EF事务处理示例: ```csharp using (var context = new YourDbContext()) { using (var transaction = context.Database.BeginTransaction()) { try { // 执行一系列数据库操作 ...

    C#操作事务

    在C#编程中,事务处理是一项关键功能,特别是在涉及到数据库操作时,如插入多条SQL语句。事务确保了数据的一致性和完整性,使得一系列操作要么全部成功,要么全部失败,避免了数据不一致的情况。以下是对"C#操作事务...

    含有事务操作的sqlhelper类C#

    事务对于处理复杂的数据库操作至关重要,尤其是在多个操作之间存在依赖关系时。例如,在银行转账场景中,必须同时更新两个账户的余额,确保资金的正确转移。使用事务可以确保即使在系统故障或网络中断的情况下,也...

Global site tag (gtag.js) - Google Analytics