2016-05-16 1 views
0

ok Erstellen einer Java-Anwendung auf Netbeans mit MySQL-Datenbank auf Sqlworkbench, erstellt ich eine Login-Jframe und eine Login-Tabelle in der Datenbank. um zu überprüfen, ob Benutzername und Passwort in der Datenbank enden oder nicht, und es geht weiter, wenn es wahr ist und zeigt beispielsweise den Angestellten jframe an. wie kann ich es ein anderes Jframe für die Krippe zeigen, wenn er/sie ihren Benutzernamen und Passwort eingibt. wie ich sollte eine Spalte in die Tabelle der Login-Informationen hinzufügen, die bestimmt, ob dieses Konto für Mitarbeiter oder Manager. aber wenn man auf den Button auf dem Login jframe klickt, wie wird es gehen? wie sollte ich außer solchen Abfrage aber wie sein Gehen dann zum Beispiel zeigen, zu vergleichen, wenn JFrame für Mitarbeiter jframe1 und JFrame für Manager benannt wurde, war jframe2Wie zeige ich verschiedene JFrame für Mitarbeiter oder Manager in Abhängigkeit von den Login-Informationen

 String sql; 
     String S=jTextField1.getText(); 
     String S1=jPasswordField1.getText(); 
     String S3=jComboBox1.getSelectedItem().toString(); 
     sql="SELECT * from user_pass where username='"+S+"' and password='"+S1+"' and type='"+S3+"'"; 
     ResultSet rs=stmt.executeQuery(sql); 
     if(rs.next()){ 
+2

Swap Ansichten mit einem Cardlayout, ähnlich wie [dieser Antwort] (http://stackoverflow.com/questions/34113406/implementing-cardlayout-within-a-jframe-and-switching-cards-based-on -spezifisches-bu). Sie können dieselbe Zeichenfolge für den Anmeldetyp verwenden wie für die CardLayout show constant, oder Sie verwenden eine Karte zum Zuordnen von Strings nach Bedarf. –

+0

In Kleinbuchstaben geschriebene Wörter sind schwer zu lesen, als ob man jemandem zuhört, der murmelt. Bitte verwenden Sie einen Großbuchstaben am Anfang von Sätzen, für das Wort I, und Eigennamen wie 'ArrayList' oder Oracle. –

+0

Im Wesentlichen benötigen Sie mehrere Dinge, die Sie benötigen, um zu bestimmen, was der Benutzer tun kann, Sie könnten ein Benutzerobjekt als Teil des Validierungsprozesses erstellen oder die Datenbank mit dem I des Benutzers abfragen (das von Ihrem Validator zurückgegeben werden kann)). Sie müssen dann eine Art Controller verwenden, um zu entscheiden, welche Ansichten dem Benutzer angezeigt werden sollen. Dies versetzt Sie in die Bereiche von MVC, mit denen Sie ein Navigationsmodell des Benutzers und des Managers definieren können, das den Umfang der Codeverdopplung reduziert, den Code entkoppelt und die Wiederverwendbarkeit von Code erhöht – MadProgrammer

Antwort

4

Sie unten, um eine Lösung wie die versuchen können. Der Code ist unvollständig, bringt Sie jedoch zu Ihrer Lösung.

public class MySqlApp extends JFrame 
{ 
    CardLayout cardLayout = new CardLayout(); 

    JPanel main = new JPanel(); 
    JPanel employee = new JPanel(); 
    JPanel manager = new JPanel(); 

    public MySqlApp() 
    { 
     setLayout(new BorderLayout()); 
     main.setLayout(cardLayout); 
     main.add(employee, "employee"); 
     main.add(manager, "manager"); 

     add(main, BorderLayout.CENTER); 

     String sql="SELECT * from user_pass where username='"+S+"' and password='"+S1+"' and type='"+S3+"'"; 
     ResultSet rs=stmt.executeQuery(sql); 
     if(rs.next()) 
     { 
      if("manager".equalsIgnoreCase(rs.getString("AccountType"))) 
      { 
       cardLayout.show(main, "manager"); 
      } 
      else 
      { 
       cardLayout.show(main, "employee"); 
      } 
     } 
    } 
} 
Verwandte Themen