Problème avec ResultSet et la communication avec la base

Fermé
SpoiledOG - 27 févr. 2023 à 22:38
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 28 févr. 2023 à 18:50

Bonjour,

Je développe une application de gestion pour mon PFE.
Au niveau de l'interface de connexion et après la requête, j'ai un problème ou niveau de la boucle if qui gère l'authentification en décidant qu'il s'agit d'un Admin, Ingénieur ou autres. La base de donnée fonctionne correctement, je l'ai testé avec les autres interfaces de l'application.
Pouvez-vous m'aider SVP? Merci.


Voici le code:
 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String url = "jdbc:odbc:gmi";
            Connection con = DriverManager.getConnection(url, "", "");
            Statement creerconnec = con.createStatement();
            String sql = "select * from compte_utilisateur where login = '" + jTextField1.getText() + "' and password ='" + jTextField2.getText() + "';";
            ResultSet RS = creerconnec.executeQuery(sql);

            while (RS.next()) {
                if (RS.getString("login").equals(jTextField1.getText()) && RS.getString("password").equals(jTextField2.getText())) 
                {
                        if (RS.getString("fonction").equals("Administrateur")) {
                            interface_menu i_m = new interface_menu();
                            i_m.setVisible(true);
                        } else if (RS.getString("fonction").equals("Ingenieur")) {
                            interface_menu_Ingénieur i_m = new interface_menu_Ingénieur();
                            i_m.setVisible(true);
                        } else {
                            interface_menu_technicien i_m = new interface_menu_technicien();
                            i_m.setVisible(true);
                        }
                }
            }
            
            con.close();
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 févr. 2023 à 18:50

Bonjour,

 j'ai un problème ou niveau de la boucle if qui gère l'authentification 

Et quel est le problème ?

De mon point de vue, je dirais que cette condition ne sert à rien :

if (RS.getString("login").equals(jTextField1.getText()) && RS.getString("password").equals(jTextField2.getText()))

Vu que la requête fait déjà le filtre :

where login = '" + jTextField1.getText() + "' and password ='" + jTextField2.getText() + "';"

Ensuite, dans tes if/else (que tu peux remplacer par un switch) tu créés de nouveaux objets d'interface_menu, mais a priori tu n'en fais rien... Est-ce que tu ne devrais pas ajouter ces différents menus à ton interface principale ?


0