次の方法で共有


SqlCeConnection.BeginTransaction メソッド (IsolationLevel)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

現在の IsolationLevel 値を使用して、データベース トランザクションを開始します。

Overloads Public Function BeginTransaction( _
   ByVal isolationLevel As IsolationLevel _) As SqlCeTransaction
[C#]
public SqlCeTransaction BeginTransaction(IsolationLevelisolationLevel);
[C++]
public: SqlCeTransaction* BeginTransaction(IsolationLevelisolationLevel);
[JScript]
public function BeginTransaction(
   isolationLevel : IsolationLevel) : SqlCeTransaction;

パラメータ

  • isolationLevel
    この接続のトランザクション分離レベル。

戻り値

新しいトランザクションを表すオブジェクト。

例外

例外の種類 条件
InvalidOperationException 並列トランザクションはサポートされていません。

解説

トランザクションは、 Commit メソッドまたは Rollback メソッドを使用して、明示的にコミットまたはロールバックする必要があります。

使用例

[Visual Basic, C#] SqlCeConnectionSqlCeTransaction を作成し、 BeginTransactionCommit 、および Rollback の各メソッドの使用方法を示す例を次に示します。

 
Public Sub RunSqlCeTransaction(myConnString As String)
   Dim myConnection As New SqlCeConnection(myConnString)
   myConnection.Open()
   
   Dim myCommand As New SqlCeCommand()
   Dim myTrans As SqlCeTransaction
   
   ' Start a local transaction
   myTrans = myConnection.BeginTransaction()
   
   ' 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()
   Catch 
      Try
         myTrans.Rollback()
      Catch e As SqlCeException
      ' Handle possible exception here
      End Try 
   Finally
      myConnection.Close()
   End Try
End Sub 

[C#] 
public void RunSqlCeTransaction(string myConnString) {
    SqlCeConnection myConnection = new SqlCeConnection(myConnString);
    myConnection.Open();

    SqlCeCommand myCommand = new SqlCeCommand();
    SqlCeTransaction myTrans;

    // Start a local transaction
    myTrans = myConnection.BeginTransaction();
    
    // 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();
    }
    catch(Exception) {
        try {
            myTrans.Rollback();
        }
        catch (SqlCeException) {
            // Handle possible exception here
        }
    }
    finally {
        myConnection.Close();
    }
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: .NET Compact Framework - Windows CE .NET

.NET Framework セキュリティ:

参照

SqlCeConnection クラス | SqlCeConnection メンバ | System.Data.SqlServerCe 名前空間 | SqlCeConnection.BeginTransaction オーバーロードの一覧 | Commit | Rollback