当前位置: 代码迷 >> J2EE >> jdbc条件拼接查询不出,该如何解决
  详细解决方案

jdbc条件拼接查询不出,该如何解决

热度:32   发布时间:2016-04-17 22:59:14.0
jdbc条件拼接查询不出
String sql="SELECT Telephone,IDCardNo,Address FROM YZJ_INFO_SID where IDCardNo in (?)";
PreparedStatement ps=conn.prepareStatement(sql);
StringBuffer sf=new StringBuffer();
for (Patient patient : patients) {
sf.append("'"+patient.getIdno()+"',");
}
String s=sf.substring(0, sf.length()-1);
ps.setString(1, s);
ResultSet rs=dbConn.execQuery(ps);



这个代码为什么查询不到数据呢?patient.getIdno()有值打印的s和上面的sql放到mysql客户端也能查到数据
但就是用这段代码查询不到,也不报错。。。。
------解决思路----------------------
for (Patient patient : patients) {
sf.append("'"+patient.getIdno()+"',");
}
String s = sf.length() > 0 ? sf.substring(0, sf.length() - 2) : "";

而且这里应该加上一个判断
------解决思路----------------------
打印出来看看哪里错了
这种拼接SQL的做法很容易出错,还是自己写方法封装或者用框架把。
  相关解决方案