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的做法很容易出错,还是自己写方法封装或者用框架把。