[VB.NET]Oracleでトランザクションを開始する方法

書式
Public Function BeginTransaction () As OracleTransaction
データベースでトランザクションを開始します。

使用例

Public Sub RunOracleTransaction(ByVal connectionString As String)
    Using connection As New OracleConnection(connectionString)
        connection.Open()
            
        'OracleCommandオブジェクトの宣言
        Dim command As OracleCommand = connection.CreateCommand()
            
            'トランザクション型変数
        Dim transaction As OracleTransaction

        ' ローカルトランザクションを開始
        transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)
        ' 保留中のローカルトランザクションにトランザクションオブジェクトを割り当て
        command.Transaction = transaction

        Try
            command.CommandText = _
                "INSERT INTO DeptTbl (DeptNo, Dname, Loc) values (41, 'TECHNOLOGY', 'city 111')"
            command.ExecuteNonQuery()
                  
            command.CommandText = _
                "INSERT INTO DeptTbl (DeptNo, Dname, Loc) values (53, 'ENGINEERING', 'city 222')"
            command.ExecuteNonQuery()
            
                  'コミット
                  transaction.Commit()
            
                  '結果メッセージを出力
                  Console.WriteLine("二つのレコードがデータベースに書き込まる.")
        Catch e As Exception
               'ロールバック
            transaction.Rollback()
                  
                  '例外メッセージを出力
            Console.WriteLine(e.ToString())
            Console.WriteLine("データベースにレコードを書き込まれませんでした.")
        End Try
    End Using
End Sub

 

VB.net

Posted by arkgame