2
contains searchを使用してテーブル内の列を検索する必要がある検索クエリがあります。列にctxsys.context型のインデックスがあります。プリペアドステートメントを使用して、テーブル上のデータをフェッチしている間に、検索クエリは次のように特殊文字を処理することができません - ここでは、/、_などCONTAINSクエリでJava Prepared Statement
を私のコードです -
String query = "select * from parties where contains (party_name ,'%' || ? || '%')>0";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, searchName);
コードは、テキストのため正常に動作します特殊文字はありません。
次のクエリをsqlDeveloperで実行すると問題なく動作します。
select * from parties where contains(party_name,'c/o')>0;
特殊文字にも変更が加えられていることをご確認ください。
を使用してyeah..triedからクエリでエスケープを使用する必要があります –
ありがとうRahul ..私はこの解決策を試していますが、いくつかの問題を取得しています。それは働くようにしようとします...私たちはクエリの最後にエスケープ部分を追加するべき提案に従って...私はおそらく何か不足 –