`
wangyihust
  • 浏览: 438586 次
文章分类
社区版块
存档分类
最新评论

.net中数据库事务机制

阅读更多

       在初始化SqlTransaction类时,你需要使用SqlConnection类的BeginTranscation()方法:
SqlTransaction myTran; myTran=myConn.BeginTransaction(); 
该方法返回一个SqlTransaction类型的变量。在调用BeginTransaction()方法以后,所有基于该数据连接对象的SQL语句执行动作都将被认为是事务MyTran的一部分。同时,你也可以在该方法的参数中指定事务隔离级别和事务名称,如:
SqlTransaction myTran;
myTran=myConn.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction"); 

程序实例:

1.  SQL SERVER

     SqlConnection myConn=GetConn();
  myConn.Open();
  SqlCommand myComm=new SqlCommand();

  SqlTransaction myTran;                                           //创建一个事务
  myTran=myConn.BeginTransaction();                  //注意,SqlTransaction类无公开的构造函数

   //从此开始,基于该连接的数据操作都被认为是事务的一部分
   myComm.Connection=myConn;
   myComm.Transaction=myTran;
   myComm.CommandText="USE pubs";
   myComm.ExecuteNonQuery();
   myComm.CommandText="UPDATE roysched SET royalty = royalty * 1.10 WHERE title_id LIKE 'Pc%'";
   myComm.ExecuteNonQuery();

      myTran.Commit();              //提交事务

2.下面的示例创建一个 OracleConnection 和一个 OracleTransaction。它还演示了如何使用 BeginTransaction、Commit 和 Rollback 方法。

public void RunOracleTransaction(string myConnString)
{
   OracleConnection myConnection = new OracleConnection(myConnString);
   myConnection.Open();

   OracleCommand myCommand = myConnection.CreateCommand();
   OracleTransaction myTrans;

   // Start a local transaction
   myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
   // Assign transaction object for a pending local transaction
   myCommand.Transaction = myTrans;

   try
   {
     myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
     myCommand.ExecuteNonQuery();
  myCommand.CommandType= CommandType.StoredProcedure;
   myCommand.CommandText="prc_test";
     myCommand.ExecuteNonQuery();
     myTrans.Commit();
     Console.WriteLine("Both records are written to database.");
   }
   catch(Exception e)
   {
     myTrans.Rollback();
     Console.WriteLine(e.ToString());
     Console.WriteLine("Neither record was written to database.");
   }
   finally
   {
     myConnection.Close();
   }
}



分享到:
评论

相关推荐

    ASP.NET通用数据库访问组件

    6. 事务处理:支持数据库事务,确保数据的一致性和完整性。 7. 错误处理和异常捕获:提供统一的错误处理机制,方便调试和记录日志。 "External"可能是一个包含外部依赖项或其他辅助工具的文件夹,这些工具可能用于...

    ASP.NET2.0数据库高级编程

    这本书旨在帮助开发者掌握在ASP.NET 2.0环境中进行高效、安全且灵活的数据库操作的核心技术。以下是一些关键知识点的详细解释: 1. **ADO.NET 2.0**:ASP.NET 2.0依赖于ADO.NET 2.0进行数据访问。ADO.NET是一种用于...

    ADO.net操作数据库总结

    ADO.NET是.NET Framework中用于与关系数据库交互的组件,它提供了高效、可靠的数据访问机制。在本文中,我们将深入探讨如何使用ADO.NET进行数据库操作,重点关注SqlConnection和SqlCommand对象的使用。 首先,我们...

    .net5种事务机制详细介绍

    在.NET框架中,事务是确保一组数据库操作要么全部成功,要么全部失败的重要机制。这确保了数据的一致性和完整性。本文将深入探讨.NET中的五种事务管理机制,并提供相关实践应用的见解。 1. **System.Transactions ...

    asp.net 全能数据库

    【asp.net 全能数据库】是一个专为ASP.NET平台设计的高效、全面的数据库解决方案,旨在简化Web应用程序中对数据库的访问和管理。这个组件集成了多种数据库操作功能,为开发者提供了一站式的数据库交互体验。 ASP...

    ASP.NET与数据库程序设计教程

    ASP.NET 是微软公司开发的一种用于构建动态网站、Web 应用和Web 服务的技术框架,它基于.NET Framework,提供了一套高效、安全且易于维护的...通过本教程,读者将深入了解ASP.NET中与数据库交互的各种技术和最佳实践。

    基于ASP.NET和数据库的网页设计

    "基于ASP.NET和数据库的网页设计"项目涵盖了从后端到前端的完整Web开发流程,适合初学者学习和实践,通过这个项目,不仅可以掌握ASP.NET和SQL Server的基本使用,还能深入了解HTML、CSS和JavaScript在网页设计中的...

    ASP.NET 2.0 数据库项目案例导航

    这个“ASP.NET 2.0 数据库项目案例导航”很可能是针对使用ASP.NET 2.0进行数据库交互的实践教程或示例集合,帮助开发者学习如何在实际项目中运用该技术。 1. **ASP.NET 2.0的核心特性** - **页面生命周期**:理解...

    基于.NET的数据库访问技术的优化研究

    - **缓存数据**:为了减少对数据库的频繁访问,可以使用缓存策略,如ASP.NET的Output Cache或自定义缓存机制,将常用数据存储在内存中,加快数据获取速度。 2. **连接池的利用**:数据库连接池是.NET框架自动管理...

    ASP.NET《数据库原理及应用技术》课程指导平台的开发(源代码+论文)

    3. **ADO.NET**:在ASP.NET中,ADO.NET是与数据库交互的主要工具。它可以连接到各种数据库系统,执行SQL命令,处理结果集,并将数据绑定到控件,实现数据展示。 4. **SQL语言**:平台的后端操作,如用户注册、登录...

    ASP.NET与数据库程序设计

    8. 数据库事务处理:在ASP.NET中,可以使用System.Transactions命名空间来管理数据库事务,确保数据的一致性和完整性。 9. 数据缓存:ASP.NET提供了Output Cache和SqlCacheDependency等功能,可以缓存页面或数据,...

    Asp.net数据库开发实例

    在Asp.net数据库开发实例中,我们探讨的是如何利用ASP.NET这一强大的Web应用程序框架与数据库进行交互,以创建高效、动态的网站应用。ASP.NET是由微软公司开发的,它为开发者提供了一整套构建高性能、安全性和可伸缩...

    ASP.NET高级数据库应用教程

    最后,随着云计算的普及,教程可能还会介绍如何在Azure等云平台上部署和管理ASP.NET数据库应用,包括数据库的备份、恢复和扩展策略。 通过这门“ASP.NET高级数据库应用教程”,无论是初学者还是经验丰富的开发者,...

    ASP.NET 与数据库程序设计

    6. **数据库事务处理**:在进行复杂的数据库操作时,事务处理至关重要。ASP.NET提供了TransactionScope类,可以控制多个数据库操作的原子性,确保数据的一致性。 7. **安全性**:数据库访问的安全性是开发过程中不...

    asp.net2.0数据库入门经典DOC格式

    在这个“ASP.NET 2.0数据库入门经典DOC格式”的资源中,很可能是详细介绍了如何在ASP.NET 2.0环境中与数据库进行交互,包括数据访问、数据绑定和事务处理等核心概念。 首先,让我们了解一下ASP.NET 2.0的数据访问...

    asp.net连接数据库的王者教程

    7. 数据库事务处理:在进行复杂操作时,如多条记录的更新或删除,可能需要使用数据库事务来确保数据的一致性。在ASP.NET中,可以使用Transaction对象来管理这些操作。 8. 错误处理和异常捕获:在处理数据库操作时,...

    ASP.NET中数据库备份和恢复[Access和SQL Server]

    在ASP.NET中,数据库管理是关键的一部分,包括了数据库的备份和恢复,这对于数据的安全性和业务连续性至关重要。本篇将详细探讨在ASP.NET中针对Access和SQL Server数据库的备份与恢复策略。 首先,我们来看Access...

    ASP.NET常见数据库操作536例

    以上只是ASP.NET数据库操作的一些基础概念和常用方法,"ASP.NET常见数据库操作536例"这个文档很可能会深入到更多具体的实例和问题解决方案,包括错误处理、性能优化、并发控制等方面,对于学习和解决实际开发中的...

    ASP.NET 2.0数据库入门经典

    8. **Error Handling**:ASP.NET 2.0提供了错误处理机制,包括Global.asax文件中的Application_Error事件,以及自定义错误页面,帮助开发者捕获和处理数据库操作中可能出现的异常。 通过学习"ASP.NET 2.0数据库入门...

Global site tag (gtag.js) - Google Analytics