问题描述
- 第二个sql语句得到的resultset对象是空的怎么办
-
public ListgetAll1(String name) throws Exception {Listresult = new ArrayList();
Connection con = DatabaseConnection.getConnection();
String na=null;
String sql1= "select * from guanzhu where guanzhu=?";
PreparedStatement ps1 = con.prepareStatement(sql1);
ps1.setString(1, name);
ResultSet rs1 = ps1.executeQuery();
while(rs1.next()){
Connection con1 = DatabaseConnection.getConnection();
na=rs1.getString("beiguanzhu");
String sql = "select * from message where author=? order by modified desc"; PreparedStatement ps = con1.prepareStatement(sql);
ps.setString(1, na); ResultSet rs = ps.executeQuery();
while (rs.next()) {
Message m = new Message();
m.setId(rs.getInt("id"));
m.setTitle(rs.getString("title"));
m.setContent(rs.getString("content"));
m.setModified(rs.getDate("modified"));
m.setAuthor(rs.getString("author"));
result.add(m);
System.out.println(rs.getString("author")+"");
}
}
return result;
}
解决方案
断点一下,看看na等于多少,看看是不是一定没有数据,其实你可以写出来试下,先把第一个条件查出的Message集合放到一个临时的list里面,在用for循环查询下,这样试下也可以。
解决方案二:
你应该学会根据需求提问题,需求都没有。。。天知道怎么解决。 问题描述要详细一点,要包括你预想得到的结果。
解决方案三:
看看前面的con1和ps是否为空。