public ArrayList queryAll(String sql) {
try {
java.sql.ResultSet rs = this.query(sql);
if (!rs.next()) {
return null;
}
ArrayList list = new ArrayList();
HashMap map = new HashMap();
java.sql.ResultSetMetaData rm = rs.getMetaData();
System.out.println(sql); // 这里打印了
while (rs.next()) {
System.out.println(sql);// 这里没打印
for (int i = 1; i <= rm.getColumnCount(); i++) {
map.put(rm.getColumnName(i), rs.getString(rm.getColumnName(i)));
}
list.add(map);
}
rs.close();
return list;
} catch (SQLException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}为什么查询不到结果呢,数据库有记录的
而且SQL 也打印出来了
try {
java.sql.ResultSet rs = this.query(sql);
if (!rs.next()) {
return null;
}
ArrayList list = new ArrayList();
HashMap map = new HashMap();
java.sql.ResultSetMetaData rm = rs.getMetaData();
System.out.println(sql); // 这里打印了
while (rs.next()) {
System.out.println(sql);// 这里没打印
for (int i = 1; i <= rm.getColumnCount(); i++) {
map.put(rm.getColumnName(i), rs.getString(rm.getColumnName(i)));
}
list.add(map);
}
rs.close();
return list;
} catch (SQLException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}为什么查询不到结果呢,数据库有记录的
而且SQL 也打印出来了
如果是的话
if里的rs.next 已经让指针向下走了一次了
while 就没有了
/*if (!rs.next()) {
return null;
}*/
ArrayList list = new ArrayList();
while (rs.next()) {
java.sql.ResultSetMetaData rm = rs.getMetaData();
HashMap map = new HashMap();
for (int i = 1; i <= rm.getColumnCount(); i++) {
map.put(rm.getColumnName(i), rs.getString(rm.getColumnName(i)));
}
list.add(map);
}
return null;
}数据库只有一条记录吧。