웹 서비스에서 아래 코드에 문제가 있습니다. 솔루션을 찾았지만 지금까지 본 것 외에 내가하는 일과 다른 점은 없습니다.ExecuteReader가 "매개 변수? _1에 기본값이 없습니다."오류
NB : '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
가능한 중복 (http://stackoverflow.com/questions/1476770/oledbcommand-parameters-order-and-priority) – Dubas