vb通过ado command对象执行存贮过程,如何又能从参数返回,又能返回记录集呢?vb通过ado command对象执行存贮过程,如何又能从参数返回,又能返回记录集呢?
我可以通过command对象返回  output 参数,
但是我不知如何返回记录集,
当然,我通过 adodb.recordset 对象可以取到记录集,但是用记录集取无法得到存贮过程的参数呀。
如何可以都能实现呢? 

解决方案 »

  1.   

    分两次执行
    第一次执行com.execute 这样参数就有值了
    第二次执行set rs=com.execute(),记录集也有值了
      

  2.   


        Dim n,str
        str = "连接数据库字符串"
        Set cn = New ADODB.Connection
        cn.CursorLocation = adUseClient
        cn.Open str
        
        Set cmd = New ADODB.Command
        cmd.ActiveConnection = cn
        cmd.CommandText = "存储过程名称"
        cmd.CommandType = adCmdStoredProc    Set param = cmd.CreateParameter("@code", adChar, adParamInput, 20, Trim(txtCode.Text))
        cmd.Parameters.Append param 
        Set param = cmd.CreateParameter("@lh_name", adVarChar, adParamInput, 20, Trim("353"))
        cmd.Parameters.Append param
        '这个是要返回的参数
        Set param = cmd.CreateParameter("@n", adCurrency, adParamOutput)
        cmd.Parameters.Append param
        '返回记录集
        Set rs = cmd.Execute
        '返回参数
        n = cmd.Parameters("@n")
        
        Set cmd = Nothing
        Set rs = Nothing
        Set cn = Nothing