在用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
不正常地定义参数对象。提供了不一致或不完整的信息。请高手指教
程序如下:
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
不正常地定义参数对象。提供了不一致或不完整的信息。请高手指教
是不是上面这个出错了
下面是我以前写的 你参考一下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