Suche senden
Hochladen
C# Database操作4 トランザクション処理-
•
0 gefällt mir
•
1,896 views
Hiroki Takahashi
Folgen
SqlServerへのデータ更新時にトランザクションを使用する方法について説明します。
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 6
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
C# Database操作3 データの更新-
C# Database操作3 データの更新-
Hiroki Takahashi
C# Database操作2 データの取得-
C# Database操作2 データの取得-
Hiroki Takahashi
C# Database操作6 SqlDataAdapterを使用したデータの更新-
C# Database操作6 SqlDataAdapterを使用したデータの更新-
Hiroki Takahashi
C# Database操作1 接続と切断-
C# Database操作1 接続と切断-
Hiroki Takahashi
C# Database操作5 SqlDataAdapterを使用したデータの取得-
C# Database操作5 SqlDataAdapterを使用したデータの取得-
Hiroki Takahashi
C# FileSystemWatcherコントロールを使用したアプリケーションの作成
C# FileSystemWatcherコントロールを使用したアプリケーションの作成
Hiroki Takahashi
C# ドラッグ&ドロップ処理の実装
C# ドラッグ&ドロップ処理の実装
Hiroki Takahashi
イベント
イベント
TENTO_slide
Weitere ähnliche Inhalte
Mehr von Hiroki Takahashi
C# TreeViewを使用する2
C# TreeViewを使用する2
Hiroki Takahashi
C# TreeViewを使用する1
C# TreeViewを使用する1
Hiroki Takahashi
C# 時間の掛かる処理をBackgroundWorkerコンポーネントで実行する
C# 時間の掛かる処理をBackgroundWorkerコンポーネントで実行する
Hiroki Takahashi
C# ErrorProviderとValidatingイベント
C# ErrorProviderとValidatingイベント
Hiroki Takahashi
C# 継承フォームの作成
C# 継承フォームの作成
Hiroki Takahashi
C# モーダルフォームとモードレスフォーム
C# モーダルフォームとモードレスフォーム
Hiroki Takahashi
C#でディレクトリを再帰的に取得する
C#でディレクトリを再帰的に取得する
Hiroki Takahashi
C#によるファイルの読み書き
C#によるファイルの読み書き
Hiroki Takahashi
Mehr von Hiroki Takahashi
(8)
C# TreeViewを使用する2
C# TreeViewを使用する2
C# TreeViewを使用する1
C# TreeViewを使用する1
C# 時間の掛かる処理をBackgroundWorkerコンポーネントで実行する
C# 時間の掛かる処理をBackgroundWorkerコンポーネントで実行する
C# ErrorProviderとValidatingイベント
C# ErrorProviderとValidatingイベント
C# 継承フォームの作成
C# 継承フォームの作成
C# モーダルフォームとモードレスフォーム
C# モーダルフォームとモードレスフォーム
C#でディレクトリを再帰的に取得する
C#でディレクトリを再帰的に取得する
C#によるファイルの読み書き
C#によるファイルの読み書き
C# Database操作4 トランザクション処理-
1.
C# Database操作4 ~トランザクション処理~ Microsoft MVP
Hiroki.T http://blog.hiros-dot.net/ copyright @2015 HIRO's.NET All Rights Reserved.
2.
トランザクション処理 今回は、INSERT/UPDATE/DELETE文の発行時にトランザク ション処理を行う方法について学びます。 トランザクション処理とは、複数の更新処理を連続して実行する 場合に、すべての処理が成功したときにのみ変更を有効にする 方法です。
SqlConnectionクラスのBeginTransactionメソッドでトランザク ション処理を開始します。 SqlTransactionクラスのCommitメソッドでコミット処理(変更を有 効に)します。 SqlTransactionクラスのRollbackメソッドでロールバック処理(変 更を取消)します。
3.
[INS/UPD/DEL文実行]の処理 前回作成した[INS/UPD/DEL文実行]ボタンのクリックイベントを、以下のように編集します。 private void
btnExec_Click(object sender, EventArgs e) { using (var trans = _sqlConn.BeginTransaction()) -----① { try { SqlCommand command = _sqlConn.CreateCommand(); command.Transaction = trans; -----② command.CommandText = txtSQL.Text; int cnt = command.ExecuteNonQuery(); trans.Commit(); -----③ MessageBox.Show(cnt.ToString() + "件処理しました。"); } catch (SqlException sqlex) { trans.Rollback(); -----④ MessageBox.Show(sqlex.Message); } } }
4.
[INS/UPD/DEL文実行]のコード解説 ①でトランザクションを開始し、作成したトランザクションを変数 transに代入しています。 ②は実行するコマンド(INSERT/UPDATE/DELETE)に対し、作 成したトランザクションを紐づけしています。
③は、実行したコマンドの変更を有効にするためにコミット処理を 実行しています。トランザクションを使用している場合はcomitメ ソッドを実行しない限り、データベースへ反映されないので注意が 必要です。 ④は、エラーが発生した場合にロールバックを行う処理です。
5.
動作確認 コードの編集が完了したら、実行して動作確認をしましょう。 動作結果は前回とは変わりません。
複数のコマンドが実行できるようにコードを編集してみましょう。
6.
End
Jetzt herunterladen