PROGRAM VISUALBASIC

ASP.NET(VB.NET) MVCモデル入門~データベースのデータを削除する

データベースのデータを削除するプログラム

今回は、こちらの記事で作成したプログラムに、データの削除処理を追加します。

データ一覧画面に削除用のリンクを追加

削除画面を呼び出すリンクを、一覧画面に追加します。
呼び出すコントローラーはDeleteController、呼び出すメソッドはDeleteConfirm()とします。
また、HTMLヘルパーのActionLink()メソッドは、コントローラーとNew Withでオプションを指定しているため、最後にNothingが必要になります。

下図のように、削除画面へのリンクがデータ一覧の横に配置されます。

vbmvc16-1

データ削除用のコントローラーを作成

新規にデータ削除用のコントローラーを作成します。
コントローラーには、データ確認用(DeleteConfirm)、データ削除用(DeleteDb)の2つのメソッドを作成します。
DeleteConfirm()メソッドは、選択したデータのIDが渡され、そのIDをキーとして、Find()メソッドを使ってEmpテーブルからデータを取得します。

データ削除用の処理を追加

既存のDbModelクラスに、データベースのデータを削除するメソッド(DeleteEmp)を追加します。
引数で渡されたIDを使って該当するデータを取得し、Remove()メソッドを使って削除します。
データを登録した後に、SaveChanges()メソッドでデータベースの状態を保存します。
データ登録に関する詳しい内容は、以下のマイクロソフトの公式サイトを参照してください。

データ確認用のビューを作成

削除するデータを確認するためのビューを作成します。
値を表示するDisplayFor()メソッドは、Formでデータを渡すことができないので、HiddenFor()メソッドを使って、値をDeleteDb()メソッドに渡します。

データ確認画面は、以下のようになります。
以下の例は、IDが4のデータを削除しようとしています。

vbmvc16-2
データ確認画面

「削除」ボタンを押下すると、指定したIDのデータがデータベースから削除され、一覧画面に戻ります。
一覧画面では、削除したデータが消えています。

vbmvc16-3
実行結果

-PROGRAM, VISUALBASIC
-, ,