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

C.2.3 パラメタマーカを使用したSQL文での更新

パラメタマーカ('?')を使用したSQL文でのデータ更新を行うサンプルコードについて説明します。

本サンプルコードは、UPDATE文実行後、影響を受けた行数をメッセージボックスで表示します。

アプリケーションの手順

  1. コネクションを接続します。詳細は、“C.2.1 接続および切断”を参照してください。

  2. rdoConnection.CreateQueryメソッドでrdoQueryオブジェクトを生成します。(SQLプロパティへUPDATE文を設定します)

  3. rdoParameter.Valueプロパティへ値を設定します。

  4. rdoQuery.ExecuteメソッドでUPDATE文を実行します。
    rdoQuery.RowsAffectedプロパティで、Executeメソッドで影響を受けた行数を取得します。

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

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

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

'オブジェクト宣言
Dim Env As rdoEnvironment
Dim Con As rdoConnection
Dim Qry As rdoQuery

'rdoEnvironmentオブジェクトの生成
Set Env = rdoEngine.rdoEnvironments(0)

On Error GoTo ErrorProc

'1. コネクション接続
Set Con = Env.OpenConnection("DSN01", rdDriverNoPrompt, _
                             False, "UID=USER01;PWD=PASS01;")

'2. rdoQueryオブジェクトの生成
Set Qry = Con.CreateQuery("", _
      "UPDATE TESTTBL SET DEC_C=?,DAT_C=?,CHA_C=? WHERE KEY_C=?")

'3. rdoParameterオブジェクトへ値を設定
Qry.rdoParameters(0).Value = 22222.222
Qry.rdoParameters(1).Value = "2007/04/10"
Qry.rdoParameters(2).Value = "UPDATE DATA"
Qry.rdoParameters(3).Value = 200

'4. UPDATE文の実行
Qry.Execute

'メッセージボックスの表示
MsgBox Qry.RowsAffected & "行更新されました", _
                vbOKOnly, "Normal End"

'5. コネクション切断
Con.Close

'6. オブジェクトの破棄
Set Qry = Nothing
Set Con = Nothing
Set Env = Nothing

Exit Sub

'エラー処理
ErrorProc:

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