我正在尝试使用此代码来验证我的登录名,但它始终显示无效,并且我尝试打印rs变量的值,该值是true,没有错误或异常,这是我的代码
String sql="SELECT * FROM user_info WHERE password=? and email_id=?";
try
{
ResultSet rs=null;
PreparedStatement ps=mycon.prepareStatement(sql);
ps.setString(1,text_eid.getText());
ps.setString(2,passwordField.getText());
rs=ps.executeQuery();
System.out.println("rs="+rs.next());
boolean b=rs.next();
if(b==true)
{
JOptionPane.showMessageDialog(null, "suc");
}
else
{
JOptionPane.showMessageDialog(null, "invalid");
}
}
catch(Exception er)
{
er.printStackTrace();
}
尝试一下:
问题是您正在尝试打印rs.next(),可能只有一个结果。在这种情况下,它将打印true,但实际上在变量中分配false。删除该sysout并记录分配的变量。除此之外,没有任何问题。
据我所见,您的代码有两个问题: