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