2012-02-28 15 views
1

複数のユーザー入力に基づいて特定の値のセットをデータベースで検索するコードを記述する必要があります。最大でユーザーは5つの検索条件を入力することができ、1または2または3でもないことがあります。JDBCを使用した複数の検索条件

これについてはどのように進める必要がありますか?準備された声明は私を助けますか?

私はデータベースとしてMS Accessを使用しています。

答えて

0

単純な解決策はwhere句を作成し、userinputによってparaListを維持することです。

a、b、c、d、eの5つの基準があります。

あなたのプログラムでは、Aに入力があるかどうかをチェックし、そうであればwhere(Likeまたは=)に追加し、入力値をList(paraList)に追加します。

最後に、作成したwhere節をpreparedStatementに連結し、パラメータをparaListで設定します。

0

あなたは私はあなたがスキャン(データ範囲のようなもの)を制限するために必要なフィールドを使用することをお勧めしますNamedParameterStatement

SELECT field1, field2 
FROM MY_TABLE 
WHERE (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1) 
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2) 

を使用して、このような何かを書くことができます

SELECT field1, field2 
FROM MY_TABLE 
WHERE DATE_FIELD BETWEEN :P_DATE1 AND :P_DATE2) 
AND (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1) 
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2) 

は、それが

を役に立てば幸い
関連する問題