【VB.NET】テーブルのレコードを更新するには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、テーブルのレコードを更新する方法をご紹介します。

テーブルのレコードを更新する

  • テーブルのレコードを更新するには、OleDbCommandクラスをインスタンス化します。
  • 書式は、以下になります。

New OleDbCommand()

  • 次に、OleDbCommandのCommandTextプロパティで、実行するSQL文を設定します。
  • 書式は、以下になります。

インスタンス化したOleDbCommand.CommandText = 実行するSQL文

  • 最後に、OleDbCommandのExecuteNonQueryメソッドを実行すると、テーブルのレコードが更新されます。
  • 書式は、以下になります。

インスタンス化したOleDbCommand.ExecuteNonQuery()

  • SQL Serverに接続する場合は、SqlCommandクラスでも可能です。
  • SqlCommandクラスのインスタンス化

    New SqlCommand()

  • SQL文を設定

    インスタンス化したSqlCommand.CommandText = 実行するSQL文

  • テーブルのレコードを更新

    インスタンス化したSqlCommand.ExecuteNonQuery()

  • テーブルのレコードを更新するSQL文の基本的な書式は以下になります。

UPDATE テーブル名

SET 列名1 = 値1 [ , 列名2 = 値2]・・・)

WHERE 更新する行を特定する列名 = 値

サンプルプログラム

OleDbCommandクラスを使用する

2 「テーブルのレコードを更新」ボタンクリック時に以下処理を行う。
6~10 接続先データベースの情報を、変数に代入。
12 OleDbConnectionクラスのインスタンス化。(Usingステートメントでリソース開放を自動化)
14~19 ConnectionStringプロパティにデータベース情報を設定。
21 データベースに接続。
23 OleDbCommandクラスのインスタンス化。(Usingステートメントでリソース開放を自動化)
25 SQL文を実行するために、14~19行目で設定したデータベース情報と同じ情報をConnection プロパティに設定。
27~36
レコードを更新するSQL文をCommandTextプロパティに設定。
30~36行目の「?」マークは、以下38~43行目で設定するパラメータを使用する際に記述します。
38 「Product」テーブルの「Name」列に、値「test2」を設定する。
39 「Product」テーブルの「ProductNumber」列に、値「def」を設定する。
40 「Product」テーブルの「StandardCost」列に、値「200」を設定する。
41 「Product」テーブルの「ListPrice」列に、値「300」を設定する。
42 「Product」テーブルの「ModifiedDate」列に、値「現在日」を設定する。
43 「Product」テーブルの「ProductID」列に、値「680」を設定する。
45 SQL文を実行する。
49 処理が正常に終了したら、正常終了のメッセージをラベルに表示。
53 処理の実行中にエラーが発生した場合、
55 エラー内容を取得し、ラベルに表示する。

SqlCommandクラスを使用する

2 「テーブルのレコードを更新」ボタンクリック時に以下処理を行う。
6~9 接続先データベースの情報を、変数に代入。
11 SqlConnectionクラスのインスタンス化。(Usingステートメントでリソース開放を自動化)
13~17 ConnectionStringプロパティにデータベース情報を設定。
19 データベースに接続。
21 SqlCommandクラスのインスタンス化。(Usingステートメントでリソース開放を自動化)
23 SQL文を実行するために、13~17行目で設定したデータベース情報と同じ情報をConnection プロパティに設定。
25~34
レコードを更新するSQL文をCommandTextプロパティに設定。
28~34行目の「@」マークは、以下36~41行目で設定するパラメータを使用する際に記述します。
36 「Product」テーブルの「Name」列に、値「test2」を設定する。
37 「Product」テーブルの「ProductNumber」列に、値「def」を設定する。
38 「Product」テーブルの「StandardCost」列に、値「200」を設定する。
39 「Product」テーブルの「ListPrice」列に、値「300」を設定する。
40 「Product」テーブルの「ModifiedDate」列に、値「現在日」を設定する。
41 「Product」テーブルの「ProductID」列に、値「680」を設定する。
43 SQL文を実行する。
47 処理が正常に終了したら、正常終了のメッセージをラベルに表示。
51 処理の実行中にエラーが発生した場合、
53 エラー内容を取得し、ラベルに表示する。

関連記事

テーブルにレコードを追加

【VB.NET】テーブルにレコードを追加するには?

テーブルのレコードを削除

【VB.NET】テーブルのレコードを削除するには?

トランザクション処理

【VB.NET】トランザクション処理を行うには?

データベースに接続

【VB.NET】データベースに接続するには?

Usingステートメント

【VB.NET】UsingステートメントでDisposeメソッドの呼び出しを自動化する

構造化例外処理

【VB.NET】構造化例外処理とは?

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら