为什么while(rs.next())会直接跳到最后一行的记录去?

List UserList=new ArrayList();
String sql = "select * from dbo.userinfo";
Connection conn =null;
ResultSet rsb =null;
Statement stb=null;
try {
conn= new DBhelper().getConn();
stb = conn.createStatement();
rsb=stb.executeQuery(sql);

while(rsb.next())
{
User user=new User();
System.out.print(rsb.getString("userid"));
System.out.print(rsb.getString("pwd"));
System.out.print(rsb.getString("pemission"));
user.setUserid(rsb.getString("userid").trim());
user.setPwd(rsb.getString("pwd").trim());
user.setPemission(rsb.getString("pemission").trim());
UserList.add(user);
}

rsb.close();
stb.close();
conn.close();
} catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
return UserList;

有四条记录
它是直接跳到后面的4了,不知道怎么办

把所有结果打印出来,是不是排序的原因。

直接运行,会输出值,但是UserList里边没有值
调试下一步的时候,会在while(rs.next)处直接闪一下,还没进去循环,rs就直接跳到最后一行了

是可以输出,但是UserList里边没有任何值,而且,调试的时候,while(rs.next())直接跳到最后一行才进入循环体内的。我真的很奇怪它是怎么输出的,为什么UserList里边没有值

List list=new ArrayList();
有可能是因为这样吗?

String sql = "select * from dbo.userinfo";
表名前不能加用户名吧,