Возникла проблема с приведенным ниже кодом в веб-службе. Искал решение, но ничто из того, что я видел, не отличается от того, что я делаю ниже.
Примечание. Строковая переменная 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