0
我正在研究一個包含有關注音符號數據的數據庫。 當我使用事先準備好的聲明,以尋找這樣的一個符號:準備好的語句中的搜索字符串
String sql="select pic from picture where symbol=?";
PreparedStatement ps=null;
try{
ps=c.prepareStatement(sql);
ps.setString(1,str); //str is a symbol of a pronunciation
rs=ps.executeQuery();
while(rs.next()){
is=rs.getBinaryStream("pic");
ImageUtil.readBlob(is,"C:\\Users\\HarryTao\\Desktop\\1\\"+String.valueOf(i)+"(1).jpg");
}
}
當運行程序,存儲在數據庫中的圖片無法存儲在我的電腦上,並沒有發生錯誤或警告。
我試圖在ps中的問號前後添加\"
但它不起作用。
我不知道問題出在哪裏。如果我將sql
字符串更改爲按元素的ID進行搜索,則效果很好。
String sql="select front from picture where picture_id=?";
...
ps.setInt(1,1);
誰能告訴我我的字符串操作有什麼問題嗎?
我想看到的'symbol'列是如何定義和'數據類型str' – Tibrogargan
如果符號數據類型是字符串(文本),那麼也許你應該嘗試用撇號包含提供的數據:String sql =「從圖片中選擇圖片其中symbol ='」+? +「'」; – DevilsHnd
你有一個catch塊嗎?也許你只是忽略它,似乎什麼似乎工作,但它不是 –