Java 登录限制

Java 登录限制,java,login,resultset,Java,Login,Resultset,第一次尝试Java String sql = "SELECT * FROM admin"; try { Class.forName("com.mysql.jdbc.Driver"); Connection con= (Connection) DriverManager.getConnection("jdbc:mysql:///mcdc","root",""); St

第一次尝试Java

    String sql = "SELECT * FROM admin";

        try {
             Class.forName("com.mysql.jdbc.Driver");
             Connection con= (Connection) 
             DriverManager.getConnection("jdbc:mysql:///mcdc","root","");
             Statement st=con.createStatement();
             rs = st.executeQuery(sql);
             String me = aname.getText();
             String passs = String.valueOf(apass.getPassword());
             String username1=rs.getString("username");
             String password1=rs.getString("password");
             JFrame frm = new JFrame();


          int tmp=0;

         while(tmp < 3) {  
         if(rs.next()){

        if((!me.equals(username1)) && (!passs.equals(password1)))
        {
        JOptionPane.showMessageDialog(frm, "INVALID! ", "Error", JOptionPane.ERROR_MESSAGE);
             aname.setText("");
             apass.setText("");   
        }
        else
        {
        this.setVisible(false);
        new admin_menu().setVisible(true);
        } 

        }

        } 
        tmp++;
        JOptionPane.showMessageDialog(frm, "You screwed up! ", "Error", JOptionPane.ERROR_MESSAGE);
        }   
        con.close();
    catch(Exception er){
    JFrame frm = new JFrame();
    System.err.println("Exception: " + er.getMessage());
    }
String sql=“选择*来自管理员”;
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
连接con=(连接)
getConnection(“jdbc:mysql:///mcdc“,”根“,”);
语句st=con.createStatement();
rs=st.executeQuery(sql);
String me=aname.getText();
String passs=String.valueOf(apass.getPassword());
字符串username1=rs.getString(“用户名”);
字符串密码1=rs.getString(“密码”);
JFrame frm=新JFrame();
int-tmp=0;
而(tmp<3){
如果(rs.next()){
如果((!me.equals(username1))&(!passs.equals(password1)))
{
显示消息对话框(frm,“无效!”,“错误”,JOptionPane.Error\u消息);
aname.setText(“”);
apass.setText(“”);
}
其他的
{
此.setVisible(false);
新建管理菜单().setVisible(true);
} 
}
} 
tmp++;
showMessageDialog(frm,“你搞砸了!”,“Error”,JOptionPane.Error\u消息);
}   
con.close();
捕获(异常er){
JFrame frm=新JFrame();
System.err.println(“异常:+er.getMessage());
}
例外情况:

结果集关闭后不允许执行操作


我正在尝试验证登录,这是我收到的错误消息。

为什么要使用“int tmp”来验证登录?如果我没弄错,你能不能试着删除int i,而tmpi是整个错误?@immibis是的,这就是我得到的所有信息。你可以显示堆栈跟踪(
er.printStackTrace()
)来显示它在哪一行上……你在哪一行上得到错误。你能打印堆栈跟踪吗