jdbc条件拼接查询不出

J2EE 码拜 9年前 (2015-10-22) 966次浏览
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客户端也能查到数据
但就是用这段代码查询不到,也不报错。
解决方案:20分
for (Patient patient : patients) {
	sf.append(""""+patient.getIdno()+""",");
}
String s = sf.length() > 0 ? sf.substring(0, sf.length() - 2) : "";

而且这里应该加上一个判断

解决方案:20分
这种拼接SQL的做法很容易出错,还是自己写方法封装或者用框架把。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jdbc条件拼接查询不出
喜欢 (0)
[1034331897@qq.com]
分享 (0)