SQLのUpdateステートメントでレコードを更新するサンプル

図 SQLのUpdateステートメントでレコードを更新するサンプル
このサンプルは、SQLのUpdateステートメントでAccessのNwind.mdbデータベースの得意先テーブルを更新します。実行結果として更新したレコード件数を表示します。
このサンプルでは、以下のノウハウを習得するこtができます。
▲ OleDbConnectionのOpen(),Close()メソッドの使い方
▲ OleDbCommandのExecuteNonQuery()メソッドの使い方
▲ SQLのUpdateステートメントの使い方
サンプルのPage_Load()イベントでは、Nwind.mdbデータベースの得意先テーブルのレコードを更新します。行7-9では、SQLのUpdateステートメントを生成しています。
Update Customers
Set Phone='0480-88-8888'
Where CompanyName='フレンドリーソフト'
UpdateのWhere句では、CompanyName=”フレンドリーソフト”を指定していますので、フレンドリーソフトの電話番号が更新されます。
行10では、OleDbConnectionのインスタンスを生成しています。行12では、OleDbCommandのインスタンスを生成しています。行15では、OleDbConnectionのOpen()メソッドでAccessのNwind.mdbデータベースを開いています。行16では、OleDbCommandのExecuteNonQuery()メソッドで、Updateステートメントを実行して得意先レコードを更新しています。ExecuteNonQuery()メソッドの戻り値として更新されたレコード件数が返されます。行17では、OleDbConnectionのClose()メソッドでAccessのNwind.mdbデータベースを閉じています。行18-20では、LabelのTextプロパティに更新されたレコード件数を設定して表示しています。
6: Sub Page_Load()
7: Dim strSqlUpdate As String = "Update
Customers " & _
8: "Set Phone='0480-88-8888'
" & _
9: "Where CompanyName='フレンドリーソフト';"
10: Dim con As New OleDbConnection( _
11:
ConfigurationSettings.AppSettings("conStringAccNw"))
12: Dim cmd As New
OleDbCommand(strSqlUpdate, con)
13: Dim intUpdateCount As Integer
14:
15: con.Open()
16: intUpdateCount =
cmd.ExecuteNonQuery()
17: con.Close()
18: lblMessage.Text = _
19:
String.Format("<b>{0}</b>件の得意先を更新しました.", _
20: intUpdateCount.ToString())
21: End Sub