2017-08-10 4 views
3

以下はコマンドウィンドウで正常に動作している私のクエリですが、JDBCではこのために結果セットを取得できません。特定の値を問い合せるときにjava jdbcでスラッシュ(/)を処理する方法は?

select * From Elp_Dealer_Recon_Wrk where CERTIFICATE='FACTURA MTY10745/24'; 

私はいくつかの他の値を与えている場合、同じクエリ私はCMDウィンドウで使用している場合、それは結果セットを返し、JDBCでそのいずれかの結果を返すしませんが代わりにFACTURA MTY10745/24の

を設定jdbcのレコードを取得します。

誰もがあなたがPreparedStatementを使用する必要があり、このようなエラーを回避するために、コメントでこのください

+2

[プリペアドステートメント]( https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html)。 – OrangeDog

+2

使用しているデータベースシステムとドライバはどれですか?私はフォワードスラッシュが特別な意味を持つシステムを認識していません。 –

+0

oracle Database @MarkRotteveelを使用しています。 – Pushp

答えて

2

@OrangeDog同様の言及に私を助けることができ、ここにあなたが従うことができます例です。

String str = "FACTURA MTY10745/24"; 
String query = "Select DATE_COMP From ELP_DEALER_RECON_WRK WHERE CERTIFICATE = ?"; 
//-----------------------------------------------------------------------------^ 
try(PreparedStatement pst = con.prepareStatement(query)){ 
    pst.setString(1, str);// Set the input 
    ResultSet result = pst.executeQuery(); 
    //... get results 
} 
関連する問題