--PACKAGE
TYPE PFFileBodyBType IS TABLE OF VARCHAR2(129) index by BINARY_INTEGER;   --类型1
TYPE user_type_Arr IS TABLE OF PFFileBodyBType;                                   --类型2
PROCEDURE TESTARRLIST_Arr(    
BBB IN user_type_Arr); --PACKAGE BODYPROCEDURE TESTARRLIST_Arr(  
BBB IN   user_type_Arr)  
IS  
i integer;  
User_Type PFFileBodyBType;
BEGIN        
    FOR i IN 1..3 LOOP   
User_Type:=  BBB(i);  
     insert into T1 values(i,User_Type(0));    
    END LOOP;  END TESTARRLIST_Arr;
                               
--存储过程没有问题,VB里面的代码怎么写?
--VB代码 1层的数组已经可以了,2层的数组怎么传?Dim _connect As OracleConnection = New OracleConnection(dbCon._strConnectString)Dim cmd As OracleCommand = New OracleCommand("begin MyPack.TESTARRLIST_Arr(:1);end;", _connect)
Dim param1 As OracleParameter = cmd.Parameters.Add("param1", OracleDbType.Varchar2)param1.Direction = ParameterDirection.Input
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray---这里的参数应该怎么写?------------------
Dim str1(2) As String
str1(0) = "objter1234567aaWWWWWWWWWWWWWWWWW"
str1(1) = "objter22345672aaWWWWWWWWWWWWW"
str1(2) = "objter3456887aaWWWWWWWWWWW"Dim str2(2) As Array
str2(0) = str1
str2(1) = str1
str2(2) = str1
----------------------------------------------
param1.Value = str2
param1.Size = 3Dim integer1(2) As Integer
integer1(0) = 13
integer1(1) = 14
integer1(2) = 13 Dim Os(2) As OracleParameterStatus
            Os(0) = OracleParameterStatus.Success
            Os(1) = OracleParameterStatus.Success
            Os(2) = OracleParameterStatus.Success            param1.ArrayBindSize = integer1
            param1.ArrayBindStatus = Os_connect.Open()
            cmd.ExecuteNonQuery()--抱类型出错希望各位大虾指教。

解决方案 »

  1.   

    VB,只见过,没有自己写过,似乎应该去VB区问问
      

  2.   

    ORACLE 中的存储过程能用VB写吗?
    我没有用户不过sqlserver的存储过程是可以用VB去写。
      

  3.   

    上面是oracle存储过程,下面是调用的地方,我希望传入2层的数组,不知道有谁做过吗?
      

  4.   

      报类型不对也可以理解。   VB里面哪种类型对应 PL/SQL中的 索引表 类型呢?求解。   如果没有的话,可能要回避这样的类型参数了。