ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(ODBCドライバ編)

D.3.5 探索条件付きSQL文での更新

ADO.NETとの連携で、探索条件付きSQL文で更新を行うサンプルコードについて説明します。

本サンプルコードは、INSERT文実行後、影響を受けた行数をWebページ上に表示します。

アプリケーションの手順

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

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

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

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

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

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

エラー処理については、“D.3.9 エラー処理”を参照してください。

'オブジェクト宣言
Dim con As Microsoft.Data.Odbc.OdbcConnection
Dim com As Microsoft.Data.Odbc.OdbcCommand

Dim i As Integer

'OdbcConnectionオブジェクトの生成
con = New Microsoft.Data.Odbc.OdbcConnection("DSN=DSN01;UID=USER01;PWD=PASS01")

Try
    '1. コネクション接続
    con.Open()

    '2. OdbcCommandオブジェクトの生成
    com = New Microsoft.Data.Odbc.OdbcCommand( _
          "UPDATE TESTTBL SET DEC_C=?,DAT_C=?,CHA_C = ? WHERE KEY_C = ?", con)

    '3. OdbcParameterオブジェクトの生成と設定
    com.Parameters.Add("DEC_C", 111111.111)
    com.Parameters.Add("DAT_C", "2007/04/10")
    com.Parameters("DAT_C").OdbcType = Microsoft.Data.Odbc.OdbcType.Date
    com.Parameters.Add("CHA_C", "更新データ")
    com.Parameters.Add("KEY_C", 100)

    '4. UPDATE文の実行
    i = com.ExecuteNonQuery
    '更新行数を表示する
    Label1.Text = "RowCount<br>" & i & "行更新されました"

    '5. コネクション切断
    con.Close()

    '6. オブジェクトの破棄
    con.Dispose()
    com.Dispose()

'エラ-処理
Catch ex As Microsoft.Data.Odbc.OdbcException

    'エラー処理ルーチンを記述

End Try