-1

jdbc を使用して Java で SQL PreparedStatement を実行する必要があります。SQL コンテンツとリソース ファイルの文字列が含まれているため、パラメータの 1 つに問題があります。次のようになります。

必要な SQL:

SELECT * FROM Table T WHERE T.value = 10 AND T.display IN ('Sample1', 'Sample2')

上記のクエリでは、Sample1とのSample2値をパラメーターを介して PreparedStatement に渡す必要があります。

準備済みステートメント:

SELECT * FROM Table T WHERE T.value = 10 ?

私のアプリケーション コードでは、次のようなパラメーターを設定しています。

statement.setString(1, "AND T.display IN ('Sample1', 'Sample2')");

ただし、これは適切な結果を返しません。

SQL コンテンツと文字列も含まれていることを考慮して、この特定のパラメーターを作成するより良い方法はありますか?

EDIT: Sample1, Sample2などは、実行時に外部ファイルから取得される文字列であり、これらの文字列の数は毎回異なる場合があります。Sample1つまり、1 つだけの文字列または複数の文字列が存在する可能性がありますSample1, Sample2, Sample3, etc.

EDIT2: 使用されているデータベースは Oracle です。

4

2 に答える 2