< 返回技术文档列表

VB.NET中如何使用OracleTransaction对象

发布时间:2021-09-01 02:28:51⊙投诉举报

这期内容当中小编将会给大家带来有关VB.NET中如何使用OracleTransaction对象,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

使用数据库事务(主要针对VB.net)

VB.NET使用OracleTransaction对象来表示一个事务。OracleTransaction 类包含多个属性,其中的两个为 Connection(指定与事务关联的数据库连接)和 IsolationLevel(指定事务隔离级别)

Connection,指定与该事务关联的OracleConnection对象;
IsolationLevel,指定该事务的IsolationLevel;枚举类型,用于对事物的锁定,取值有Chaos、 ReadCommited、ReadUncommited、RepeatableRead、Serializable、Unspecified。

应用程序通过针对OracleConnection对象调用 BeginTransaction 来创建OracleTransaction对象。对OracleTransaction对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。

Commit:提交SQL数据库事务;
Rollback :从挂起状态回滚事务;

您还可以使用 Save() 在事务中设置一个保存点。

下面的示例创建一个 OracleConnection 和一个 OracleTransaction。它还演示了如何使用 BeginTransaction、Commit 和 Rollback 方法。(这是MSDN里的范例)

需要注意的是,这些操作需要引入命名空间: Oracle.DataAcess.Client

Oracle.DataAccess.Client 命名空间是 ODP.NET 的一部分,它包含许多类,其中有 OracleConnection、OracleCommand 和 OracleTransaction。示例程序就用到了这些类。

事务操作

Public Sub RunOracleTransaction()Sub RunOracleTransaction(myConnString As String)  Dim myConnection As New OracleConnection(myConnString)  myConnection.Open()   Dim myCommand As OracleCommand = myConnection.CreateCommand()  Dim myTrans As OracleTransaction   ' 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.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')" myCommand.ExecuteNonQuery()  myTrans.Commit()  Console.WriteLine("Both records are written to database.")  Catch e As Exception  myTrans.Rollback()  Console.WriteLine(e.ToString())  Console.WriteLine("Neither record was written to database.")  Finally  myConnection.Close()  End Try  End Sub

在 .NET 程序中设置事务保存点

正如本文前面所提到的那样,您可以设置一个保存点,以便将事务回滚至该特定的点,同时保持事务中的其他语句原封不动。您可以VB.NET使用OracleTransaction对象的 Save() 方法在事务中设置保存点。

如果您有一个非常长的事务并且希望能够仅回滚到某个特定的时间点,那么您可能要使用保存点。例如,您可能想对 10 个产品做一些更改,然后设置一个保存点,然后再对另 10 个产品做更改;如果您在进行第二批更改时出现了错误,那么您可以回滚至保存点,使您的***批更改原封不动。

上述就是小编为大家分享的VB.NET中如何使用OracleTransaction对象了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注血鸟云行业资讯频道。


/template/Home/Zkeys/PC/Static