存储过程通过
VB中:
Dim cmd As New ADODB.Command
Dim par As New ADODB.Parametercmd.ActiveConnection = Cnnck          --连接也是正确的
cmd.CommandText = "storeck"
cmd.CommandType = adCmdStoredProcSet par = cmd.CreateParameter("startdate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet par = cmd.CreateParameter("enddate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet Rstck = cmd.Execute   --执行提示需求参数 3  ?

解决方案 »

  1.   

    给你例子
    自己思考
    方为己用Append 和 CreateParameter 方法范例 (VB)
    本范例使用 Append 和 CreateParameter 方法来执行带输入参数的存储过程。Public Sub AppendX()    Dim cnn1 As ADODB.Connection
        Dim cmdByRoyalty As ADODB.Command
        Dim prmByRoyalty As ADODB.Parameter
        Dim rstByRoyalty As ADODB.Recordset
        Dim rstAuthors As ADODB.Recordset
        Dim intRoyalty As Integer
        Dim strAuthorID As String
        Dim strCnn As String    ' Open connection.
        Set cnn1 = New ADODB.Connection
        strCnn = "Provider=sqloledb;" & _
            "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
        cnn1.Open strCnn
        cnn1.CursorLocation = adUseClient
            
        ' Open command object with one parameter.
        Set cmdByRoyalty = New ADODB.Command
        cmdByRoyalty.CommandText = "byroyalty"
        cmdByRoyalty.CommandType = adCmdStoredProc
        
        ' Get parameter value and append parameter.
        intRoyalty = Trim(InputBox("Enter royalty:"))
        Set prmByRoyalty = cmdByRoyalty.CreateParameter("percentage", _
            adInteger, adParamInput)
        cmdByRoyalty.Parameters.Append prmByRoyalty
        prmByRoyalty.Value = intRoyalty    ' Create recordset by executing the command.
        Set cmdByRoyalty.ActiveConnection = cnn1
        Set rstByRoyalty = cmdByRoyalty.Execute
        
        ' Open the Authors table to get author names for display.
        Set rstAuthors = New ADODB.Recordset
        rstAuthors.Open "Authors", cnn1, , , adCmdTable
        
        ' Print current data in the recordset, adding
        ' author names from Authors table.
        Debug.Print "Authors with " & intRoyalty & " percent royalty"
        Do While Not rstByRoyalty.EOF
            strAuthorID = rstByRoyalty!au_id
            Debug.Print "    " & rstByRoyalty!au_id & ", ";
            rstAuthors.Filter = "au_id = '" & strAuthorID & "'"
            Debug.Print rstAuthors!au_fname & " " & rstAuthors!au_lname
            rstByRoyalty.MoveNext
        Loop    rstByRoyalty.Close
        rstAuthors.Close
        cnn1.CloseEnd Sub
      

  2.   

    我也参考很多例题了
    如果不带参数 提示需求参数1 
    我改成Set Rstck = cmd.Execute(,1)也就通过了可是增加了2个输入参数就成这样了
    Set Rstck = cmd.Execute   --执行提示需求参数 3  ?
      

  3.   

    http://blog.csdn.net/online/archive/2004/08/05/66376.aspx mConn.CursorLocation = adUseClient '设置为客户端
    试试