探索条件付きSQL文でADO.NET連携でデータの更新を行うサンプルコードについて説明します。
本サンプルコードは、INSERT文実行後、メッセージボックスで完了を知らせます。
アプリケーションの手順
OdbcConnectionオブジェクトでコネクションを接続します。詳細は、“B.5.1 接続および切断”を参照してください。
OdbcCommandオブジェクトを生成します。(CommandTextプロパティへUPDATE文を設定します。)
OdbcCommand.Parameters.AddメソッドでOdbcParameterオブジェクトの生成と設定を行います。SQL文中のパラメタマーカ('?')の出現順に生成してください。
OdbcParameter.ParameterNameプロパティには、オブジェクト名を任意で設定します。
OdbcParameter.Valueプロパティへパラメタの値を設定します。
日時型のパラメタにはOdbcParameter.OdbcTypeプロパティを設定します。
OdbcCommand.ExecuteNonQueryメソッドでUPDATE文を実行します。
ExecuteNonQueryメソッドより更新された行数が返されます。
更新行数をメッセージボックスで表示します。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“B.5.10 エラー処理”を参照してください。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'オブジェクト宣言
Dim con As System.Data.Odbc.OdbcConnection
Dim com As System.Data.Odbc.OdbcCommand
Dim i As Integer
Dim msgstr As String
'OdbcConnectionオブジェクトの生成
con = New System.Data.Odbc.OdbcConnection("DSN=DSN01;UID=USER01;PWD=PASS01")
Try
'1. コネクション接続
con.Open()
'2. OdbcCommandオブジェクトの生成
com = New System.Data.Odbc.OdbcCommand("UPDATE SAMPLE1.TESTTBL SET DEC_C=?,DAT_C=?,CHA_C = ? WHERE KEY_C = ?", con)
'3. OdbcParameterオブジェクトの生成と設定
com.Parameters.AddWithValue("DEC_C", 111111.111)
com.Parameters.AddWithValue("DAT_C", "2099/12/31")
com.Parameters("DAT_C").OdbcType = System.Data.Odbc.OdbcType.Date
com.Parameters.AddWithValue("CHA_C", "更新データ")
com.Parameters.AddWithValue("KEY_C", 100)
'4. UPDATE文の実行
i = com.ExecuteNonQuery
'5. 更新行数をメッセージボックスで表示する
MessageBox.Show(i & "行更新されました", "RowCount", MessageBoxButtons.OK,
MessageBoxIcon.None)
'6. コネクション切断
con.Close()
'7. オブジェクトの破棄
con.Dispose()
com.Dispose()
'エラー処理
Catch ex As System.Data.Odbc.OdbcException
'エラー処理ルーチンを記述
msgstr = "▲▼ COMMUNICATION OFF LINE ▲▼"
MessageBox.Show(msgstr, "!ERROR!", MessageBoxButtons.OK,
MessageBoxIcon.None)
End Try
End Sub
End Class