次のようなストアド プロシージャが oracle にあります。
PROCEDURE get_protection_details (
i_case_key IN NUMBER,
i_eff_dt IN DATE,
protection_rec OUT protection_rectype
)
出力パラメーターはタイプ レコードです。パッケージでは次のように宣言されています。
TYPE crms_protection_rectype IS RECORD (
active_protection_flag VARCHAR2(1) := NULL,
protection_type VARCHAR2(30) := NULL,
term VARCHAR2(30) := NULL,
protection_fee_name VARCHAR2(30) := 'PROTECTION'
);
私はVB6からこれを呼び出そうとしています - ここに私が持っているコードがあります
Dim adoCMD As Object
Dim rs as ADODB.recordset
Set adoCMD = CreateObject("ADODB.Command")
adoCMD.ActiveConnection = Me.Cn
adoCMD.CommandText = "fdp$product.get_protection_details"
adoCMD.CommandType = adCmdStoredProc
adoCMD.Parameters.Append adoCMD.CreateParameter("i_case_key", adDouble, adParamInput, 32000, plCaseKey)
'//this case key is type long and value is 20305003'
adoCMD.Parameters.Append adoCMD.CreateParameter("i_eff_dt", adDate, adParamInput, 32000, Format(Now(), "DD/MM/YYYY"))
rs = adoCMD.Execute
パラメーターの数が正しくないというエラーが表示されます - かなり簡単なはずの何かに髪を引き裂きます - 定義されたレコードタイプを返すストアドプロシージャをどのように呼び出しますか?
この方法で弱いカーソルを返す例をあらゆる場所に用意してください。
どうにかしてvb6でレコードを定義する方法はありますか?