我在MS Access数据库上从c#OleDbCommand获取结果时遇到了一些麻烦。这是我的命令:
SELECT START_DATE
FROM tblVisits
WHERE LocProj_IS_NUMBER = @projId
AND LocSTATN_IS_NUMBER = @statnId
AND LocSTATN_ORG_ID = @orgId
AND LocProj_ORG_ID = @orgId
如果我使用参数调用它,我没有得到任何结果,但如果我用'GULN'替换@orgId,那么我得到了我期望的结果。以编程方式,我从DropDownList的SelectedValue属性获取@orgId值。我很困惑,因为这种确切的方法正在查询同一数据库中的其他表。
有什么想法吗?
答案 0 :(得分:0)
你需要用引号来划分你的参数值吗?
AND LocSTATN_ORG_ID = "'" + @orgId + "'"
AND LocProj_ORG_ID = "'" + @orgId + "'"
答案 1 :(得分:0)
所以这就是有效的。我用问号(thanks to this post)替换了所有参数名称。不知道为什么我以前的查询没有顺利工作。我猜测尝试两次引用相同的参数是主要问题。