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#] SqlCeConnection と SqlCeTransaction を作成し、 BeginTransaction 、 Commit 、および 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