0

为什么 QueryBuilder 会修改我的查询?有解决方法吗?

当我输入下面的查询时,QueryBuilder 将查询修改为下面更复杂的版本,需要为 FillBy 方法提供额外的参数。任何额外的参数都会给修改后的查询增加指数级的复杂性。

输入:

SELECT prop, lot, type, created_on, done
  FROM TestSelection
 WHERE (prop=? OR '_NO_PROP_'=?) AND (lot=? OR '_NO_LOT_'=?)

修改的:

SELECT prop, lot, type, created_on, done
FROM   TestSelection
WHERE  (prop = ?) AND (lot = ?) OR
       (prop = ?) AND ('_NO_LOT_' = ?) OR
       (lot = ?) AND ('_NO_PROP_' = ?) OR
       ('_NO_LOT_' = ?) AND ('_NO_PROP_' = ?)

目标:允许用户按道具、批次或两者进行搜索。我的实际程序将查询几个附加字段。

笔记:

  • WinForms 项目(如果适用,则为 VB.NET)
  • TestSelection 是 Microsoft Access 数据库中的查询
4

1 回答 1

0

我决定删除 QueryBuilder 中的所有 WHERE 条件。相反,我只使用 LINQ 查询。

于 2011-08-11T13:14:02.380 回答