アプリケーションの手順
コネクションを接続します。詳細は、“C.4.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オブジェクトを追加します。
Command . Executeメソッドでストアドプロシジャを実行します。
ストアドプロシジャの結果を、出力パラメタのParameter.Valueプロパティで結果を取得します。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“C.4.10 エラー処理”を参照してください。
'オブジェクト宣言 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. rameteオブジェクトの生成と設定 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. rametersコレクションに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 & ControlChars.Cr msgstr &= "PRCSTATE: " & Com.Parameters("PRCSTATE").Value & ControlChars.Cr msgstr &= "PRCMSG: " & Com.Parameters("PRCMSG").Value MessageBox.Show(msgstr, "PROCEDURE DATA", _ MessageBoxButtons.OK, MessageBoxIcon.None) '6. コネクション切断 Con.Close() '7. オブジェクトの破棄 Par1 = Nothing Par2 = Nothing Par3 = Nothing Par4 = Nothing Com = Nothing Con = Nothing Exit Sub 'エラー処理 ErrorProc: 'エラー処理ルーチンを記述