在用vb6.0调用MS SQL Server 2000时出错,环境winxp sp2,mdac2.8,vb6.0
程序如下:
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim myParam As ADODB.Parameter
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = gcCnn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "Test"
'--------------创建放回值参数-------------
Set myParam = cmd.CreateParameter("RetVal", adInteger, adParamReturnValue)cmd.Parameters.Append myParam
Set myParam = cmd.CreateParameter("@para1", adVarChar, adParamInput)
myParam.Value = "lv"cmd.Parameters.Append myParam'这句出错错误信息:3708 
不正常地定义参数对象。提供了不一致或不完整的信息。请高手指教

解决方案 »

  1.   

    Set myParam = cmd.CreateParameter("RetVal", adInteger, adParamReturnValue)
    是不是上面这个出错了
    下面是我以前写的  你参考一下Dim com As New ADODB.Command
            Set com = New ADODB.Command
            Dim par As New ADODB.Parameter
            With com
            .ActiveConnection = P_connection
            Set par = .CreateParameter("cCusCode", adVarChar, adParamInput, 20, frm_ylfa.txtCus.Tag)
            .Parameters.Append par
            Set par = .CreateParameter("cSupInvCode", adVarChar, adParamInput, 20, Grid1.TextMatrix(i, 0))
            .Parameters.Append par
            Set par = .CreateParameter("cInvCode", adVarChar, adParamInput, 20, "")
            .Parameters.Append par
            Set par = .CreateParameter("cDate", adVarChar, adParamInput, 20, frm_ylfa.txtdate.Text)
            .Parameters.Append par
               Set par = .CreateParameter("iPrice", adDecimal, adParamOutput, iPrice)
            .Parameters.Append par
            
            .Parameters("iPrice").Precision = 18 '总长度
            .Parameters("iPrice").NumericScale = 3 '小数位数           Set par = .CreateParameter("iSlPrice", adDecimal, adParamOutput, islPrice)
            .Parameters.Append par
             .Parameters("iSlPrice").Precision = 18 '总长度
            .Parameters("iSlPrice").NumericScale = 3 '小数位数
            
            
            .CommandText = "CP_CAL_Price"
            .CommandType = adCmdStoredProc
            .Execute
           
            
            
            iPrice = .Parameters("iPrice").Value
            islPrice = .Parameters("islPrice").Value
            Grid1.TextMatrix(i, 3) = islPrice
            Grid1.TextMatrix(i, 4) = iPrice
             End With