探索条件付きSQL文で更新を行うサンプルコードについて説明します。
本サンプルコードは、UPDATE文実行後、影響を受けた行数をWebページ上に表示します。事前にフォームへラベルコントロール(Label1)を追加してください。
アプリケーションの手順
SymfowareConnectionオブジェクトでコネクションを接続します。詳細は、“A.3.1 接続および切断”を参照してください。
SymfowareCommandオブジェクトを生成します。(CommandTextプロパティへUPDATE文を設定します)
SymfowareCommand.Parameters.AddメソッドでSymfowareParameterオブジェクトの生成と設定を行います。SQL文中のパラメタマーカ('?')の出現順に生成してください。
SymfowareParameter.ParameterNameプロパティには、オブジェクト名を任意で設定します。
SymfowareParameter.Valueプロパティへパラメタの値を設定します。
日時型のパラメタにはSymfowareParameter.SymfowareDbTypeプロパティを設定します。
SymfowareCommand.ExecuteNonQueryメソッドでUPDATE文を実行します。
ExecuteNonQueryメソッドより更新された行数が返されます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“A.3.8 エラー処理”を参照してください。
Try
'SymfowareConnectionオブジェクトの生成
Dim connection1 As New SymfowareConnection("DATA SOURCE=127.0.0.1;PORT=26551;" _
& "INITIAL CATALOG=TEST;USER ID=USER01;PASSWORD=PASS01")
'1.コネクション接続
connection1.Open()
'2.SymfowareCommandオブジェクトの生成
Dim command1 As New SymfowareCommand("UPDATE SAMPLE1.TESTTBL SET DEC_C=?,DAT_C=?," _
& "CHA_C = ? WHERE KEY_C = ?", connection1)
'3.SymfowareParameterオブジェクトの生成と設定
command1.Parameters.Add("DEC_C", 111111.111)
command1.Parameters.Add("DAT_C", "2007/04/10")
command1.Parameters.Item("DAT_C").SymfowareDbType = SymfowareDbType.Date
command1.Parameters.Add("CHA_C", "更新データ")
command1.Parameters.Add("KEY_C", 100)
'4.UPDATE文の実行
Dim num1 As Integer = command1.ExecuteNonQuery
'更新行数を表示する
Me.Label1.Text = "RowCount<br>" + num1.ToString + "行更新されました"
'5.コネクション切断
connection1.Close()
'6.オブジェクトの破棄
connection1.Dispose()
command1.Dispose()
'エラー処理
Catch exception1 As Exception
'エラー処理ルーチンを記述
End Try