[java和mysql登录验证

问题描述 投票:1回答:3

我正在尝试使用此代码来验证我的登录名,但它始终显示无效,并且我尝试打印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();
}
java jdbc
3个回答
1
投票

尝试一下:


0
投票

问题是您正在尝试打印rs.next(),可能只有一个结果。在这种情况下,它将打印true,但实际上在变量中分配false。删除该sysout并记录分配的变量。除此之外,没有任何问题。


0
投票

据我所见,您的代码有两个问题:

© www.soinside.com 2019 - 2024. All rights reserved.