J'ai réalisé une authentification toute simple avec le login et le mot de passe et je voudrais mettre une condition si le login n'est pas dans la bdd
voici mon code
Le problème c'est que log prend toutes les valeurs de la bdd. Ainsi si je met le 3eme nom de la base de donnée, cela me met que le nom n'est pas dans la base de donnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 public void Identif(String login, String pass) { Connection conn = null; String message = new String(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:BiorG","",""); System.out.println("Connexion établie avec BiorG"); Statement s = conn.createStatement (); Statement s1 = conn.createStatement (); s1.executeQuery("SELECT Utilisateurs.Login FROM Utilisateurs"); s.executeQuery ("SELECT Utilisateurs.Password, Utilisateurs.Login FROM Utilisateurs WHERE (Utilisateurs.Login)=\'"+login+"\'"); ResultSet rs = s.getResultSet (); ResultSet rs1 = s1.getResultSet (); while (rs1.next()){ String log = rs1.getString("Login"); System.out.println("fct" + log); if (log.equals(login)){ while (rs.next()){ String mdp = rs.getString ("Password"); if (mdp.equals(pass)) { message = "Connection réussie"; JOptionPane.showMessageDialog(null,""+ message ); } else { message = "Connection échouée"; JOptionPane.showMessageDialog(null,""+ message ); } } rs1.close(); s1.close();rs.close(); s.close(); } else{ message = "Le nom entré n'est pas dans la base de donnée"; JOptionPane.showMessageDialog(null,""+ message ); } } } catch(Exception e) {System.err.println(e);} finally { if (conn != null) { try { conn.close(); System.out.println("Connexion terminée");} catch(Exception e) {System.err.println ("Pb de fermeture de connexion ");} } } } }
Merci de votre aide
Partager