![](/img/trans.png)
[英]Why am I getting the OleDbException: 'No value given for one or more required parameters.' exception?
[英]Why am I getting OleDBException “No value given for one or more required parameters?”
這是我的代碼:
command.CommandText =
"SELECT DISTINCT B.* FROM BlankFormSubmissions B, Actions A WHERE B.FormName = " +
GenericRoutines.SqlFmt(form.Name) +
" AND B.ProcessName = A.ProcessName AND B.ActionName = A.ActionName" +
" ORDER BY B.ID";
OleDbDataReader reader = command.ExecuteReader();
SQL是:
SELECT DISTINCT B.*
FROM BlankFormSubmissions B, Actions A
WHERE B.FormName = 'FindingNemo'
AND B.ProcessName = A.ProcessName
AND B.ActionName = A.ActionName
ORDER BY B.ID
我發現通過在Access中運行SQL,我實際上只是引用了Access表中不存在的列(FormName)。
您需要引用您傳遞給查詢的任何字符串。 嘗試:
command.CommandText = "SELECT DISTINCT B.* FROM BlankFormSubmissions B, Actions A WHERE B.FormName = '" +
GenericRoutines.SqlFmt(form.Name) + "' AND B.ProcessName = A.ProcessName AND B.ActionName = A.ActionName" +
" ORDER BY B.ID";
它更容易(一旦你克服了涉及的小學習曲線)和更好(更整潔,更安全)使用參數化查詢或存儲過程來做這種事情。
HTH。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.