有问题段的代码如下:
public ArrayList<menuentity> getMenuList(Connection con){
ArrayList<menuentity> list=null;
try {
String sql="select * from menu where misEnable=1";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
System.out.println("rs:"+rs);
menuentity m=null;
list=new ArrayList<menuentity>();
System.out.println("new ArrayList<menuentity>();");
while(rs.next()){
System.out.println("rs.next()");
m=new menuentity();
m.setMid(rs.getString(1));
m.setMname(rs.getString(2));
m.setMurl(rs.getString(3));
m.setMimg(rs.getString(4));
m.setMparnetid(rs.getString(5));
m.setMcreatedate(rs.getDate(6));
m.setMisEnable(rs.getInt(7));
m.setMcreater(rs.getString(8));
m.setMisLeaf(rs.getInt(9));
System.out.println("1:"+rs.getString(1));
list.add(m);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("1daolist:"+list);
return list;
}
现象描述:这个方法中能执行到System.out.println("new ArrayList<menuentity>();");处,但是while循环里面没有执行,因为 System.out.println("rs.next()");在控制台没有输出,但是sql语句在数据库能查到数据,方法传入的connection也没有问题,因为另外有页面和这个方法共同用过一个connection,另外一个页面能从后台返回数据,
这是在eclipse中和tomcat联系调试的
问题:为什么while里面没有执行,可能是什么原因?谢谢!!!
我想大声告诉你2017-05-17 10:09:26
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
这个写的不对吧
写成这个试试
Statement stmt=con.createStatement(sql);
ResultSet rs=stmt.executeQuery();