在QueryBuilder中使用动态输入时出现意外结果

时间:2014-05-28 07:53:37

标签: asp.net visual-studio ms-access query-builder

我编写了一个SQL查询来与MS Access数据库进行交互。这是查询:

SELECT COUNT(*) AS Expr1 
FROM employee 
WHERE ([M-ID] = ?) AND (pnumber NOT IN (
    SELECT pnumber 
    FROM evaluation 
    WHERE ([year] = ?) AND ([month] = ?)
))

该查询旨在计算employee中存在的数字记录,这些记录在给定条件下evaluation中不存在。

问题是,当我用实际输入替换占位符时,它可以正常工作。但是当查询中存在占位符(?)并且VisualStudio提示输入时,它会返回不同的结果。我在提示对话框中输入的输入与我之前在查询中输入的相同,但结果不同。在查询中静态提供参数时,COUNT的结果是正确的,但不是通过?占位符动态提供的。

以下是一些屏幕截图来说明问题。

动态输入:
dynamic input dialogue

动态输入结果:
dynamic input results

静态输入结果:
static input results

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

狂野猜测,但基于Access体验回到2.0:从字段名称中取出连字符。