知识大全 ASP.NET中的事务处理和异常处理

Posted 数据库

篇首语:存储阳光,必有远芳;心中有暖,又何惧人生荒凉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中的事务处理和异常处理相关的知识,希望对你有一定的参考价值。

ASP.NET中的事务处理和异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

 使用SQL Transaction类和 NET提供的异常处理机制 我们就能够以一种可靠的方式处理数据库运行中的问题和发现系统异常 这篇小文章将解释事务处理和异常处理的概念和用法

  一 什么是事务?

  事务处理是由以一个单一的逻辑单位完成的一系列操作 它可以由一系列的SQL语句 SELECT INSERT UPDATE DELETE组成 如果在该单位包含的操作执行完毕后没有发生错误 那么它对数据库所作的改变就是永久的了 如果一旦有错误发生 它就不会对数据库作任何修改或改变

  要定义一个事务 需要使用Begin tran命令 在这一命令之后的任何语句都将被认为是事务的一部分 命令Commit用来完成事务 并使事务对数据库所作的修改成为永久的 Rollback命令用来取消一个事务 并还原事务对数据库所作的修改

  下面是一个事务的例子

[SQL SERVER or SQL SERVER ] BEGIN TRAN  INSERT INTO PRODUCT(PRODUCTID PRODUCTNAME) VALUES( KEYBOARD )  UPDATE PRODUCT SET PRICE= WHERE PRODUCTID=   IF (@ERROR> )   ROLLBACK  ELSE MIT

  二 什么是异常处理?

  开发一种错误消息处理机制 并向用户提供有用的 清楚 有意义的信息也是编程人员的任务之一 异常处理就是能够提供这一服务的一种机制 一旦事务失败 服务器就会向系统发出一个用于帮助用户发现并修复邦联的数据库错误信息 我们可以异常处理功能来获取这种异常信息 并修复出现的故障 异常处理功能的用法如下所示

  [c#]

try//数据库操作命令catch (Exception e)?//如果有异常发生 这部分语句将被执行finally?//无论是否有异常发生 这部分语句都会得到执行   三 如何实现事务?

   在一个存储过程中编写事务语句 并使用下面的控制发现是否有错误发生 返回相应的值 互联网应用程序会根据返回的值显示正确的和容易理解的错误信息 下面是一个事务的例子

[Store Procedure]CREATE PROCEDURE PRODUCT_SAVE( ASDECLARE(@USERID CHAR( ) @LOCATION VARCHAR( ) @RETURNS INT OUTPUT)BEGIN TRANUPDATE ADDRESS SET LOCATION=@LOCATION WHERE USERID=@USERIDIF (@@ERROR> )BEGIN@RETURNS= /* Fail to Update */ROLLBACKENDELSE@RETURNS= /* Succeed to update */MIT

RETURN @RETURNS

[Web Application in C#]int values;DBClass dbc=new DBClass(); // 使用new命令生成一个数据库类values=dbc updatedb( Rain Street ); //And call its function member to update recordif (values== )Lable_message text= Update successfully ;elseLable_message text= Sorry can not update this record please contact your DBA

  上面的例子非常适合DBA等对数据库编程非常熟悉的编程人员 他们更喜欢在存储过程中完成异常处理功能 如果对数据库编程不太熟悉 则可以采取下面的方法

   在 NET框架中 我们可以使用SqlTransaction类定义一个事务 此后 我们就可以使用mit或rollback函数控制事务 当然了 我们也可以使用 NET框架提供的异常处理功能获取系统异常 下面是一个有关的例子

[Web Applicaion in C#]SqlConnection myConnection = new SqlConnection( Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI; );myConnection Open();

SqlTransaction myTrans = myConnection BeginTransaction(); //使用New新生成一个事务SqlCommand myCommand = new SqlCommand();myCommand Transaction = myTrans;

trymyCommand CommandText = Update Address set location= rain street where userid= ;myCommand ExecuteNonQuery();myTrans Commit();Console WriteLine( Record is udated );catch(Exception e)myTrans Rollback();Console WriteLine(e ToString());Console WriteLine( Sorry Record can not be updated );finallymyConnection Close();

cha138/Article/program/net/201311/15760

相关参考

知识大全 ASP.Net之C#中的异常处理

ASP.Net之C#中的异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基础知识  程序

知识大全 ASP.Net之C#中的异常处理[2]

ASP.Net之C#中的异常处理[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 ASP.Net之C#中的异常处理[1]

ASP.Net之C#中的异常处理[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 ASP.NET里的事务处理

ASP.NET里的事务处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  事务是一组组合成逻辑工

知识大全 ASP.NET入门教程 1.3.9 错误和异常处理

ASP.NET入门教程1.3.9错误和异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 ASP.NET全局异常处理浅析

ASP.NET全局异常处理浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我们写程序时偶尔

知识大全 ASP.NET中异常处理使用

ASP.NET中异常处理使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  通用语言运行时(CL

知识大全 ASP.NET中处理异常的几种方式

ASP.NET中处理异常的几种方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序中使用tr

知识大全 ASP.NET生成eurl.axd Http异常错误处理

ASP.NET生成eurl.axdHttp异常错误处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.NET中的HTTP模块和处理程序(上)

ASP.NET中的HTTP模块和处理程序(上)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  介