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块吗?也许你只是忽略它,似乎什么似乎工作,但它不是 –