1.连接驱动为Provider=OraOLEDB.Oracle;用ado连接,怎么在vb中定义parameter中的传入数组类型,然后在存储过程中如何接收此数组?
同样输出数组在vb中如何接收?2.在ado的parameter中对应的数据类型和oracle中的数据类型如何对应?
如addouble对应number,则advarchar对应oracle什么类型?
希望能有一个完整对应列表.期盼高手解答!
200分相送,up都有分!
同样输出数组在vb中如何接收?2.在ado的parameter中对应的数据类型和oracle中的数据类型如何对应?
如addouble对应number,则advarchar对应oracle什么类型?
希望能有一个完整对应列表.期盼高手解答!
200分相送,up都有分!
Public Function exec_proc() As Integer
Dim id As Integer
Dim cmd As ADODB.Command
Dim par1 As ADODB.Parameter
Set cmd = New ADODB.Command
With cmd
.CommandText = "dkh_charge_order_pro" 'oracle存储过程名
.CommandType = adCmdStoredProc
Set par1 = .CreateParameter("id", adInteger, adParamOutput)'par1是个输出参数。
在存程过程中是个OUTPUT
.Parameters.Append par1
Set .ActiveConnection = oracle_con
.Execute
End With
If IsNull(cmd.Parameters("id").Value) Then
exec_proc = 0
Else
exec_proc = cmd.Parameters("id").Value
End If
Set cmd = Nothing
End Function
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim pkgname As String
pkgname = "spTestPkg.test{?,?}" Dim clsDa As New clsDataAccess
Set cmd = New ADODB.Command
With cmd
.Parameters.Append .CreateParameter(, adUserDefined, adParamOutput)
.Parameters.Append .CreateParameter(, adArray, adParamOutput)
End With
...
pl/sql: --type d1 is table of number INDEX BY BINARY_INTEGER;
-- type d2 is table of varchar2(100) INDEX BY BINARY_INTEGER;
type cur is ref cursor;
procedure test(t1 out d1,t2 out d2)
......