关于rs.next()返回的问题

sql = "SELECT userid from USERMANAGER WHERE uname =? AND password =? ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1,userName);
pstmt.setString(2,password);
ResultSet rs = pstmt.executeQuery();
System.out.println(rs!=null);
if(rs.next())
return 1; //核对正确,返回用户标识号
return 0;

这段代码有时返回true,有时返回false,我有两个user,
图片说明第一个返回true,第二个就是false,只有bossorcou为number(1),其余为varchar类型,有知道的大神可以解答一下吗,急用

你返回的明明是1和0,为什么你说是true false,你的userName 和password分别是什么,哪里来的,你的密码是某种hash(比如md5),你代码在将原文密码转换成hash的过程中是否正确,函数的参数、返回值在哪里。

 另外,感觉你的逻辑不对。请注意:
当rs有1条记录的时候,rs.next()是false,当有2条或者以上的时候才是true
而按照你的逻辑,是1条以上登录都成功。我不知道你怎么想的。
你可以 sql = "SELECT count(*) cnt from USERMANAGER WHERE uname =? AND password =? ";
然后
if (rs.getInt("cnt") >0) return 1; else return 0;