ストアドプロシジャを実行するサンプルコードについて説明します。
本サンプルコードは、ストアドプロシジャを実行し結果をメッセージボックスで表示します。
アプリケーションの手順
コネクションを接続します。詳細は、“C.3.1 接続および切断”を参照してください。
Commandオブジェクトを生成します。
Command.ActiveConnectionプロパティに手順1で生成したConnectionオブジェクトを設定します。
Command.CommandTextプロパティにストアドプロシジャ名を設定します。
Command.CommandTypeプロパティにadCmdStoredProcを設定します。
Parameterオブジェクトの生成と設定をします。
Parameter.Nameプロパティには、オブジェクト名を任意で設定します。
Parameter.Typeプロパティには、データ型を設定します。
Parameter.Directionプロパティには、入力パラメタ(adParamInput)、出力パラメタ(adParamOutput)のいずれかであることを設定します。
入力パラメタのParameter.Valueプロパティには値を設定します。
文字列型のParameter.Sizeプロパティには、データの最大サイズをバイト数で設定します。
ParametersコレクションにParameterオブジェクトを追加します。SQL文中のパラメタマーカ('?')の出現順に追加してください。
Command.Executeメソッドでストアドプロシジャを実行します。
ストアドプロシジャの結果を、出力パラメタのParameter.Valueプロパティで結果を取得します。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“C.3.11 エラー処理”を参照してください。
'オブジェクト宣言 Dim Con As Connection Dim Com As Command Dim Par1 As Parameter, Par2 As Parameter, Par3 As Parameter, Par4 As Parameter Dim msgstr As String 'Connectionオブジェクトの生成と設定 Set Con = New Connection Con.ConnectionString = "DSN=DSN01;UID=USER01;PWD=PASS01;" On Error GoTo ErrorProc '1. コネクション接続 Con.Open '2. Commandオブジェクトの生成と設定 Set Com = New Command Com.ActiveConnection = Con Com.CommandText = "COUNTPRC" Com.CommandType = adCmdStoredProc '3. Parameteオブジェクトの生成と設定 Set Par1 = Com.CreateParameter("DAT_P", adDate, adParamInput, , "2007/04/10") Set Par2 = Com.CreateParameter("OUT_P", adInteger, adParamOutput) Set Par3 = Com.CreateParameter("PRCSTATE", adChar, adParamOutput, 5) Set Par4 = Com.CreateParameter("PRCMSG", adChar, adParamOutput, 255) '4. ParametersコレクションにParameterオブジェクトを追加 Com.Parameters.Append Par1 Com.Parameters.Append Par2 Com.Parameters.Append Par3 Com.Parameters.Append Par4 '5. ストアドプロシジャの実行 Com.Execute 'メッセージボックスで結果を表示 msgstr = "COUNT: " & Com.Parameters("OUT_P").Value & Chr(10) msgstr = msgstr & "PRCSTATE: " & Com.Parameters("PRCSTATE").Value & Chr(10) msgstr = msgstr & "PRCMSG: " & Com.Parameters("PRCMSG").Value MsgBox msgstr, vbOKOnly, "PROCEDURE DATA" '6. コネクション切断 Con.Close '7. オブジェクトの破棄 Set Par1 = Nothing Set Par2 = Nothing Set Par3 = Nothing Set Par4 = Nothing Set Com = Nothing Set Con = Nothing Exit Sub 'エラー処理 ErrorProc: 'エラー処理ルーチンを記述します