2017-02-13 60 views
0

大家好我有一個朋友告訴我,如果我努力了,我應該去這個網站尋求一些指導。我是一個休閒時間以下的程序員,我只是爲了豐富我的想法。在我想讓我的程序擁有登錄屏幕並使用我的sqlite數據庫驗證用戶名,密碼和部門(管理員,管理員,用戶)之前,在登錄到程序主菜單之前,我遇到了一個問題。現在我使用Netbeans來執行我的java編程,因爲它使我更容易,到目前爲止它可以用於第一個密碼和管理員「部門」,但是一旦我添加了某人,比如管理員或用戶什麼也沒有發生,並且我有嘗試了所有我可以在互聯網上閱讀的內容,因爲我說我在學習編程時受到過家庭教育,因爲它只是我的愛好和興趣,任何建議或指向網站的指針,我可以自學如何解決我的問題將有助於me.Here是我當前的代碼,我希望我正確發佈此: `私人無效jButton1ActionPerformed(EVT java.awt.event.ActionEvent中){
// TODO添加處理代碼在這裏:來自sqlite的登錄驗證無法正常工作

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

謝謝我已經明白了這一點,我通過使用finduser的true和false布爾值來正確地工作。 –

回答

0

IU找到函數Boolean這裏是ho w我的代碼在使用後完美運行,如果任何人都可以看到我可以更好地提供任何建議,但它可以100%工作。 'String sql ='選擇用戶所在的用戶名,用戶名,密碼,分區(用戶名=?和密碼=?和分區=?)「;

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