ページの先頭行へ戻る
Symfoware Server V11.1.0 アプリケーション開発ガイド(.NET Data Provider編)
FUJITSU Software

A.3.4 探索条件付きSQL文での更新

探索条件付きSQL文で更新を行うサンプルコードについて説明します。

本サンプルコードは、UPDATE文実行後、影響を受けた行数をWebページ上に表示します。事前にフォームへラベルコントロール(Label1)を追加してください。

アプリケーションの手順

  1. SymfowareConnectionオブジェクトでコネクションを接続します。詳細は、“A.3.1 接続および切断”を参照してください。

  2. SymfowareCommandオブジェクトを生成します。(CommandTextプロパティへUPDATE文を設定します)

  3. SymfowareCommand.Parameters.AddメソッドでSymfowareParameterオブジェクトの生成と設定を行います。SQL文中のパラメタマーカ('?')の出現順に生成してください。
    SymfowareParameter.ParameterNameプロパティには、オブジェクト名を任意で設定します。
    SymfowareParameter.Valueプロパティへパラメタの値を設定します。
    日時型のパラメタにはSymfowareParameter.SymfowareDbTypeプロパティを設定します。

  4. SymfowareCommand.ExecuteNonQueryメソッドでUPDATE文を実行します。
    ExecuteNonQueryメソッドより更新された行数が返されます。

  5. コネクションを切断します。

  6. オブジェクトを破棄します。

エラー処理については、“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