来自sqlite的登录验证无法正常工作

时间:2017-02-13 18:46:38

标签: netbeans-8

大家好朋友告诉我,如果我挣扎,我应该去这个网站寻求指导。我是一个随意的非工作程序员,我只是为了丰富我的思想。我有一个问题,我希望我的程序有一个登录屏幕,并使用我的sqlite数据库验证用户名,密码和部门(管理员,管理员,用户),然后才能登录到该程序的主菜单。现在我使用Netbeans进行我的java编程,因为它使我更容易,到目前为止它适用于第一个密码和管理员" division"但是一旦我添加了一个人就像说管理员或用户没有任何反应,我已经尝试了我可以在互联网上阅读的所有内容,因为我说我在家里接受过编程,因为它只是一个爱好和兴趣我的,任何建议或指向我可以自学如何解决我的问题的网站的指针将帮助我。这是我目前的代码,我希望我正确发布这个: `private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
        // TODO在这里添加您的处理代码:

    String sql ="select Id,Username,Password,Division from Users where (username =? and password= ? and division=?)";

    try{
        int count = 0;
        pst = conn.prepareStatement(sql);

        pst.setString(1, txt_username.getText());
        pst.setString(2, txt_password.getText());
        pst.setString(3, txt_combo.getSelectedItem().toString());

        rs = pst.executeQuery();
       while (rs.next()){
           int Username =rs.getInt(1);
           Emp.empnum = Username;
           String username = rs.getString("username");
           Emp.empname = username;
           count = count+1;
       }

        String access = (txt_combo.getSelectedItem().toString());

        if(access =="Administrator,Admin,User"){
            if(count == 1){
                JOptionPane.showMessageDialog(null, "Success");
                MainMenu j = new MainMenu();
                j.setVisible(true);
                this.dispose();
            }else {
                JOptionPane.showMessageDialog(null, "The Username or Password you entered was incorrect!");
            }
        }

    }catch (Exception e){

    JOptionPane.showMessageDialog(null, e);

    }
    finally {

        try{
            rs.close();
            pst.close();

        }catch (Exception e){
    }
    }
}`

1 个答案:

答案 0 :(得分:0)

IU发现这里的函数布尔是我的代码在使用后如何完美运行,如果任何人都可以看到我可以更好的任何建议将会做但它100%工作。 ' String sql ="从用户中选择Id,用户名,密码,分区(用户名=?和密码=?和分区=?)&#34 ;;

    try{

        int count = 0;
        boolean foundUser = false;
        pst = conn.prepareStatement(sql);



        pst.setString(1, txt_username.getText());
        pst.setString(2, txt_password.getText());
        pst.setString(3, txt_combo.getSelectedItem().toString());


        rs = pst.executeQuery();
       while (rs.next()){
           int Username =rs.getInt(1);
           Emp.empnum = Username;
           String username = rs.getString("username");
           Emp.empname = username;
           foundUser = true; 
           count = count+1;

         }

    String access = (txt_combo.getSelectedItem().toString());       
    if (foundUser) {
        JOptionPane.showMessageDialog(null, "Success");
                MainMenu j = new MainMenu();
                j.setVisible(true);
                this.dispose();

            }else {
                JOptionPane.showMessageDialog(null, "The Username or Password you entered was incorrect!");
            }


    }catch (Exception e){

        JOptionPane.showMessageDialog(null, e);

    }
    finally {

        try{
            rs.close();
            pst.close();

        }catch (Exception e){
    }
    }'