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は、MicrosoftAccessデータベースのクエリです。
4

1 に答える 1

0

QueryBuilderでWHERE条件を削除することにしました。代わりに、LINQクエリを使用します。

于 2011-08-11T13:14:02.380 に答える