0

4 つのパラメーターを使用する Windows フォームの SQL クエリを作成する方法を見つけようとして、しばらくここで尻尾を追いかけていました。私のフォームは、OLEDB 経由で VFP テーブルに接続されています。私のフォームには、Item From、Item To、Date From、Date To の 4 つのコンボボックスがあります。グリッドビューを埋めるための私の SQL クエリは次のとおりです。

SELECT `date`, descrip, item, id, itemtype, prodclass, loc, qty 
FROM kokfstut 
WHERE (item BETWEEN ? AND ?) AND (`date` BETWEEN ? AND ?)

これは、4 つのコンボボックスすべてに値がある場合にうまく機能します。ここで、アイテム範囲または日付範囲のみに値がある場合に機能するように、SQL クエリを作成したいと思います。しかし、次のように書くと、エラーが発生します。これは、より多くの変数があると見なされるためです (4 ではなく 8)。

SELECT `date`, descrip, item, id, itemtype, prodclass, loc, qty 
FROM kokfstut 
WHERE ((item BETWEEN ? AND ?) AND (`date` BETWEEN ? AND ?)) 
   OR (item BETWEEN ? AND ?) OR (`date` BETWEEN ? AND ?)

では、4つのコンボボックスでこれを達成するにはどうすればよいですか?

事前に助けてくれてありがとう、

クリス

4

2 に答える 2

0

OLEDB を使用しているため、それぞれ ? それ自体がパラメーターになります。

4 つのパラメーターをすべて入れて、必要に応じて値を繰り返すか、プログラムでコンボボックスの内容をチェックし、どの組み合わせが関連しているかを判断し、適切なクエリとパラメーターを実行する必要があります。

于 2013-10-08T13:47:51.710 に答える