“参数?_1没有默认值”错误在Web服务中存在以下代码问题。已经寻找了解决方案,但我所见过的任何东西似乎与我在下面做的不同。当ExecuteReader
注意:字符串变量'AccountNo'是一个传入包含以下代码的函数。
错误在代码的最后一行 - ExecuteReader上生成。
Dim sConnString As String
Dim rdr As OleDbDataReader
Dim orderPaid As Decimal
Dim fbeused As Decimal
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\orders.mdb'"
Dim conn As New OleDbConnection(sConnString)
Dim sb As New StringBuilder
sb.Append("SELECT DISTINCTROW OrderHeaders.Accountno, Sum(([paidqty]*[unitprice])*[orderheaders].[entpercent]/100) AS orderpaid, Sum([freeqty]*[unitprice]) AS fbeused")
sb.Append(" FROM OrderHeaders INNER JOIN OrderDetails ON OrderHeaders.[OrderNo] = OrderDetails.[OrderNo]")
sb.Append(" GROUP BY OrderHeaders.Accountno HAVING OrderHeaders.Accountno=?")
Dim sqlString As String = sb.ToString
Dim cmd As New OleDbCommand(sqlString, conn)
cmd.CommandType = CommandType.Text
'cmd.Parameters.AddWithValue("AccNo", AccountNo)
cmd.Parameters.Add("AccNo", OleDbType.VarWChar).Value = AccountNo
conn.Open()
rdr = cmd.ExecuteReader()
我得到的是(如上所述)错误
Parameter ?_1 has no default value
的[参数OleDbCommand的顺序和优先级]可能重复(http://stackoverflow.com/questions/1476770/oledbcommand-parameters-order-and-priority) – Dubas