VB.NET 中启动ADO.NET事务,实现对数据库操作的整体性。

翻译 2006年05月21日 08:50:00

示例
[Visual Basic, C#] 下面的示例创建一个 SqlConnection 和一个 SqlTransaction。它还演示如何使用 BeginTransaction、Commit 和 Rollback 方法。
[Visual Basic, C#] 注意   此示例显示如何使用 BeginTransaction 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic]
Public Sub RunSqlTransaction(myConnString As String)
    Dim myConnection As New SqlConnection(myConnString)
    myConnection.Open()
   
    Dim myCommand As SqlCommand = myConnection.CreateCommand()
    Dim myTrans As SqlTransaction
   
    ' Start a local transaction
    myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted, "SampleTransaction")
    ' Must assign both transaction object and connection
    ' to Command object for a pending local transaction
    myCommand.Connection = myConnection
    myCommand.Transaction = myTrans

    Try
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"
      myCommand.ExecuteNonQuery()
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"
      myCommand.ExecuteNonQuery()
      myTrans.Commit()
      Console.WriteLine("Both records are written to database.")
    Catch e As Exception
      Try
        myTrans.Rollback("SampleTransaction")
      Catch ex As SqlException
        If Not myTrans.Connection Is Nothing Then
          Console.WriteLine("An exception of type " & ex.GetType().ToString() & _
                            " was encountered while attempting to roll back the transaction.")
        End If
      End Try
   
      Console.WriteLine("An exception of type " & e.GetType().ToString() & _
                      "was encountered while inserting the data.")
      Console.WriteLine("Neither record was written to database.")
    Finally
      myConnection.Close()
    End Try
End Sub 'RunSqlTransaction
[C#]
public void RunSqlTransaction(string myConnString)
 {
    SqlConnection myConnection = new SqlConnection(myConnString);
    myConnection.Open();

    SqlCommand myCommand = myConnection.CreateCommand();
    SqlTransaction myTrans;

    // Start a local transaction
    myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");
    // Must assign both transaction object and connection
    // to Command object for a pending local transaction
    myCommand.Connection = myConnection;
    myCommand.Transaction = myTrans;

    try
    {
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
      myCommand.ExecuteNonQuery();
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
      myCommand.ExecuteNonQuery();
      myTrans.Commit();
      Console.WriteLine("Both records are written to database.");
    }
    catch(Exception e)
    {
      try
      {
        myTrans.Rollback("SampleTransaction");
      }
      catch (SqlException ex)
      {
        if (myTrans.Connection != null)
        {
          Console.WriteLine("An exception of type " + ex.GetType() +
                            " was encountered while attempting to roll back the transaction.");
        }
      }
   
      Console.WriteLine("An exception of type " + e.GetType() +
                        " was encountered while inserting the data.");
      Console.WriteLine("Neither record was written to database.");
    }
    finally
    {
      myConnection.Close();
    }
}

VB.NET调用ADO对数据库的操作

1.ACCESS数据库2.ORACLE数据库3.SQLSERVER数据库  
  • wei801004
  • wei801004
  • 2005年06月06日 19:11
  • 1037

ado.net 事务 处理 锁定数据行

using(SqlConnection   conn   =   SqlConnection(MyConnectionString))   {    SqlCommand   cmd1   =   c...
  • zhuyaojun
  • zhuyaojun
  • 2011年01月03日 21:05
  • 542

ADO.NET中的DataReader与DataSet

先看一下视频中讲的这章的框架:        在这里重点讲述一下DataReader 和DataSet。      一,DataReader:     1,简单介绍:DataReade...
  • liujiahan629629
  • liujiahan629629
  • 2013年01月26日 15:00
  • 5315

.NET开发中的事务处理大比拼 之 ADO.NET级别的事务

现在我们对事务的概念和原理都有所了解了,并且作为已经有一些基础的C#开发者,我们已经熟知编写数据库交互程序的一些要点,即:(1)使用SqlConnection类的对象的Open()方法建立与数据库服务...
  • sven_xu
  • sven_xu
  • 2015年06月02日 09:13
  • 1246

VB.NET必知必会(ADO.NET篇)

ADO相信我们都不陌生,那么ADO.NET和ADO是一种东西吗?我们来详细的看一下ADO.NET。       ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个广...
  • kanglix1an
  • kanglix1an
  • 2012年12月16日 18:51
  • 5098

一个利用ADO.net操作数据库很好的操作封装

2、呼入用户信息 :在字段集包含的文本和其它元素外面绘制一个方框。:在fieldSet 对象绘制的方框内插入一个标题。3、去除全屏滚动条问题4、解决打开用javascript关掉showModalDi...
  • guoxubin2005
  • guoxubin2005
  • 2007年05月09日 14:32
  • 529

C# ADO.Net事务处理

SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多...
  • miniduhua
  • miniduhua
  • 2016年10月21日 14:23
  • 3495

ADO.NET数据操作常见错误总结

1-数据库服务器无法连接问题凡是出现以上问题时,使用如下方法。1检查SQLServer服务是否打开:2检查连接字符串中的Server对应的服务器名称是否正确(注意默认实例,命名实例的名称)3如果示连接...
  • qq_36482772
  • qq_36482772
  • 2017年05月02日 05:57
  • 583

ADO.NET 事务控制

在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务。若要执行事务,请执行下列操作: 1.调用Connection 对象的BeginTransactio...
  • suixufeng
  • suixufeng
  • 2013年10月12日 10:11
  • 998

ADO.NET操作数据库(四)

主要内容: 连接查询、左表、右表、内连接、外连接、笛卡尔积、on子句数据筛选、自连接、存储过程、连接查询、模糊查询、视图、T-SQL编程、全局变量、局部变量、事务、系统存储过程、用户自定义存储过程、a...
  • chenrushui
  • chenrushui
  • 2016年11月09日 19:45
  • 1686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB.NET 中启动ADO.NET事务,实现对数据库操作的整体性。
举报原因:
原因补充:

(最多只允许输入30个字)