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

C.2.8 ストアドプロシジャの実行

ストアドプロシジャを実行するサンプルコードについて説明します。

本サンプルコードは、ストアドプロシジャを実行し結果をメッセージボックスで表示します。

アプリケーションの手順

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

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

  3. ストアドプロシジャの入力パラメタのrdoParameter.Valueプロパティへ値を設定します。

  4. rdoQuery.ExecuteメソッドでCALL文を実行します。
    ストアドプロシジャの出力パラメタのrdoParameter.Valueプロパティで結果を取得します。

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

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

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

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

Dim msgstr As String

'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("", "CALL COUNTPRC(?,?,?,?)")

'3. 入力パラメタ値の設定
Qry.rdoParameters(0).Value = "2007/04/10"

'4. CALL文の実行
Qry.Execute

'結果の表示
msgstr = "COUNT: " & Qry.rdoParameters(1).Value & Chr(10)
msgstr = msgstr & "PRCSTATE: " & Qry.rdoParameters(2).Value & Chr(10)
msgstr = msgstr & "PRCMSG: " & Qry.rdoParameters(3).Value
MsgBox msgstr, vbOKOnly, "PROCEDURE DATA"

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

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

Exit Sub

'エラー処理

ErrorProc:

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