這是我的代碼:爲什麼我會得到OleDBException「沒有給出一個或多個必需參數的值?」
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
使用**參數化**查詢,而不是連接在一起你的SQL語句 - 幫助[避免SQL注入攻擊](http://xkcd.com/327/)..... – 2011-02-23 10:22:23
嗨,它是如何工作的您只能使用命令文本:「SELECT DISTINCT B. * FROM BlankFormSubmissions B,Actions A」? – 2011-02-23 10:23:26
雖然你在這裏 - 嘗試使用新的,標準化的ANSI JOIN語法和「INNER JOIN .... ON .....」子句 - 有助於避免不需要的直角座標產品,並且閱讀起來更加清晰並理解... – 2011-02-23 10:24:23