【问题标题】:MS Access DB Query String Parameter IssueMS Access DB 查询字符串参数问题
【发布时间】:2010-08-20 19:27:54
【问题描述】:

我在从 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 值。我很困惑,因为这种确切的方法适用于对同一数据库中其他表的查询。

有什么想法吗?

【问题讨论】:

    标签: c# .net database ms-access


    【解决方案1】:

    您需要用引号分隔参数值吗?

    AND LocSTATN_ORG_ID = "'" + @orgId + "'"
    AND LocProj_ORG_ID = "'" + @orgId + "'"
    

    【讨论】:

    • 刚刚尝试过。没有骰子。这是我第一次查询访问数据库,但尚未创建它,我无法找出 SQL 中的怪癖来访问翻译...
    • 能否从Access中查询Access数据库来检查语法?另外,LocSTATN_ORG_ID 和 LocProj_ORG_ID 的数据类型是什么?
    【解决方案2】:

    所以这就是有效的方法。我用问号替换了所有参数名称 (thanks to this post) 不知道为什么我以前的查询工作顺利。我猜想尝试两次引用相同的参数是主要问题。

    【讨论】:

    • 您是新来的,所以只是一个程序问题:即使您已经回答了自己的问题,也可以将自己的答案标记为已接受。如果您没有给出公认的答案,该问题将继续吸引想要提供帮助的人,因为他们认为没有找到答案。
    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多