我在 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 中定义记录?