通过ADO.NET实现事务处理

ado|事务处理

  在数据库连接上创建事务处理对象,然后调用事务处理对象来提交事务或回滚事务。简单的代码:

private void button1_Click(object sender, System.EventArgs e)
  {
   SqlConnection conn = new SqlConnection("Data Source=192.168.2.200;uid=sa; password=;database = HaierHR");
   conn.Open();
   //启用事务
   SqlTransaction tran = conn.BeginTransaction();
   SqlCommand cmd = new SqlCommand();
   cmd.Connection = conn;
   cmd.Transaction = tran;
   try
   {
    cmd.CommandText = "UPDATE HRRollMain Set TotalMember=TotalMember-100 WHERE RollID = '2005070101'";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "UPDATE HRRollSum Set TotalSumMember=TotalSumMember+100 WHERE RollSumID = '20050701'";
    cmd.ExecuteNonQuery();
    tran.Commit();
    MessageBox.Show("事务提交成功!");
   }
   catch(Exception ex)
   {
    tran.Rollback();
    MessageBox.Show("Error!"+ex.Message);
   }   
  }

时间: 2024-12-02 12:49:28

通过ADO.NET实现事务处理的相关文章

ADO.NET中事务处理方法总结

事务是这样一种机制,它确保多个SQL语句被当作单个工作单 元来处理.事务具有以下的作用: * 一致性:同时进行的查询和更新彼此不会发生冲突,其他 用户不会看到发生了变化但尚未提交的数据. * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完 成的事务. Ado.Net事务处理. 在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务.若要执行事务,请执行下列操作: • 调用Connection 对象的BeginTransaction 方法来标记事务的开始.

总结:ADO.NET在开发中的部分使用方法和技巧

ado|技巧 如何使用 SqlDataAdapter 来检索多个行 以下代码阐明了如何使用 SqlDataAdapter 对象发出可生成 DataSet 或 DataTable 的命令.它从 SQL Server Northwind 数据库中检索一组产品类别. using System.Data;using System.Data.SqlClient;public DataTable RetrieveRowsWithDataTable(){ using ( SqlConnection conn

ADO.NET使用方法和技巧

  以下代码阐明了如何使用 SqlDataAdapter 对象发出可生成 DataSet 或 DataTable 的命令.它从 SQL Server Northwind 数据库中检索一组产品类别. using System.Data; using System.Data.SqlClient; public DataTable RetrieveRowsWithDataTable() { using ( SqlConnection conn = new SqlConnection(connectio

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

数据|数据库 本文将涉及到在.net框架下使用C#语言操纵数据库事务的各个方面. 体验SQL语言的事务机制 作为大型的企业级数据库,SQL Server2000对事务提供了很好的支持.我们可以使用SQL语句来定义.提交以及回滚一个事务. 如下所示的SQL代码定义了一个事务,并且命名为"MyTransaction"(限于篇幅,本文并不讨论如何编写SQL语言程序,请读者自行参考相关书籍): DECLARE @TranName VARCHAR(20) SELECT @TranName

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

数据|数据库 什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作. 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: · 更新客户所购商品的库存信息 · 保存客户付款信息--可能包括与银行系统的交互 · 生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新.但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常.该顾客银行帐户存款

精华的微软文章.NET 数据访问架构指南

访问|架构|精华|数据|微软 数据绑定 所有这三个对象都可以作为数据绑定控件的数据源.而DataSet 和 DataTable 可作为更广范围控件的数据源.这是因为DataSet 和 DataTable 实现了(生成Ilist接口)IlistSource接口,而SqlDataReader 实现了Ienumerable接口.许多能进行数据绑定的WinForm控件需要实现了Ilist接口的数据源. 这种不同是因为为每种对象类型设计的场景类型不同.DataSet (它包含 DataTable)是一个丰

.NET 数据访问架构指南(一)

访问|架构|数据 概述:本文提供了在多层.NET应用程序中实施基于ADO.NET的数据访问层的指导原则.其重点是一组通用数据访问任务和方案,并指导你选择最合适的途径和技术(68张打印页). 目录 ADO.NET简介 管理数据库链接 错误处理 性能 通过防火墙建立链接 处理 BLOBs 事务处理 数据分页 简介 如果你在为.NET应用程序设计数据访问层,那么就应该把 Microsoft ADO.NET用作数据访问模型.ADO.NET扩展丰富,并且支持结合松散的数据访问需求.多层Web应用程序及We

sql 数据库事务详解

sql 数据库教程事务详解 作为大型的企业级数据库,SQL Server2000对事务提供了很好的支持.我们可以使用SQL语句来定义.提交以及回滚一个事务. ??如下所示的SQL代码定义了一个事务,并且命名为"MyTransaction"(限于篇幅,本文并不讨论如何编写SQL语言程序,请读者自行参考相关书籍): DECLARE @TranName VARCHAR(20) SELECT @TranName = 'MyTransaction' BEGIN TRANSACTION @Tran

通用权限管理工具,支所有ADO(包括ODBC)支持的数据库,不管用什么编程都行,VC/BCB/VB/PB/Delphi

ado|odbc|编程|数据|数据库 下面是一部分说明: 请细请到这里下载ExeDemo测试版通用权限管理工具的创作动机权限管理是MIS软件中很重要的一环.很多国内较出名的MIS软件厂商都设计了较完善的也具有自己特色的权限管理模块.但对于很多没那么规范的软件商(包括个人或小创作团体),他们经常是接到一单,设计一套权限管理系统,每套都不同:有的则不够重视,随便写上一段,哪里都拷过去用:有的也曾费尽心机,但结果总不能令自己满意.其实仔细想一下,每套软件的权限虽然各不相同,但其实所需实现的功能是相同的