这是我的代码:为什么我会得到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