大家帮我改一下执行存贮过程的函数,关键是参数如何传进来?为了通用性,参数的个数是未知的.参数的类型也是没有规律的.以下是从网上找的代码,不太完整,关键是参数问题没有解决,请大家帮我改改,谢谢了先.'--------------------------------------------------
'名称:ExecuteProc
'功能:执行存贮过程
'--------------------------------------------------
Public Function ExecuteProc(ByRef Proc As String, ByRef Prm As Collection)    Dim cmd As New ADODB.Command
    Dim i As Integer
    Dim Paramers As ADODB.Parameters
    
    If linkdatabase = False Then
        MsgBox "无法与数据库建立连接,请检查网络是否正常!", 32, "提示"
        ExecSQL = False
        Exit Function
    Else
        Set cmd.ActiveConnection = cn
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = Proc
        For i = 1 To Prm.Count
            cmd.Parameters(i).Value = Prm.Item(i)
        Next
        cmd.Execute
    End If
    Set cmd = NothingEnd Function

解决方案 »

  1.   

    Public Function ExecProc(ProcName As String, Cs() As String)
        On Error Resume Next
        Dim Con As New ADODB.Connection
        Dim Com As New ADODB.Command
        Con.ConnectionString = Me.Adodc1.ConnectionString
        Con.Open
        Com.ActiveConnection = Con
        Com.CommandType = adCmdStoredProc
        Com.CommandText = ProcName
        For i = 0 To Bound(Cs()) - 1
            Set param = Com.CreateParameter(i, adUserDefined, adParamInput, Cs(i))
            Com.Parameters.Append
        Next i
        Com.Execute
        
    End Function
    我没有写完,估计是通不过去,给你提供个思路 嘿嘿
      

  2.   

    用集合分离最好的方法是用Split 然后还是转化成数组 嘎嘎