2017-02-13 4 views
0

Hallo allerseits wurde mir von einem Freund gesagt, dass wenn ich kämpfe, ich auf dieser Website für eine Anleitung gehen sollte. Ich bin ein lässiger Programmierer nach Feierabend und ich mache es nur, um meinen Verstand zu bereichern. Ich habe ein Problem in dem Moment, wo ich möchte, dass mein Programm einen Anmeldebildschirm hat und meine sqlite-Datenbank verwendet, um den Benutzernamen, das Passwort und die Abteilung (Administrator, Administrator, Benutzer) zu verifizieren, bevor Sie sich im Hauptmenü des Programms einloggen. Jetzt benutze ich Netbeans, um meine Java-Programmierung zu machen, da es für mich einfacher ist und bis jetzt funktioniert es für das erste Passwort und die "Division" des Administrators, aber sobald ich jemanden wie admin oder einen Benutzer hinzufüge passiert nichts und ich habe Ich habe alles versucht, was ich im Internet lesen konnte, wie ich sagte, dass ich zu Hause programmiert bin, wenn es ums Programmieren geht, da es nur ein Hobby und ein Interesse von mir ist, irgendein Ratschlag oder ein Hinweis auf eine Webseite, wo ich mich selbst beibringen kann mein Problem wird me.Here helfen ist mein aktueller Code ich hoffe, dass ich das richtig bin Entsendung: `privater void jButton1ActionPerformed (java.awt.event.ActionEvent evt) {
// TODO Ihren Behandlungscode hier hinzufügen:Login-Verifizierung von sqlite funktioniert nicht richtig

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){ 
    } 
    } 
}` 
+0

Dank Ich habe herausgefunden, dass es funktioniert, indem ich einfach einen Boolean mit einem founduser true und false verwendet habe. –

Antwort

0

IE gefunden die Funktion Boolean hier ist ho w mein Code funktionierte perfekt nachdem ich ihn benutzt habe, wenn irgendjemand trotzdem sehen kann Ich kann es besser machen, jeder Ratschlag wird es tun, aber es funktioniert 100%. 'String sql = "wähle Id, Benutzername, Passwort, Division von Benutzern aus, wo (username =? Und password =? Und division =?)";

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){ 
    } 
    }'