Probleme avec if et chaine de caractere... et JDBC

Probleme avec if et chaine de caractere... et JDBC - Java - Programmation

Marsh Posté le 04-05-2004 à 21:32:30    

Le bout de code qui pose probleme...

String PRE_STMT = "SELECT cat FROM UserDB WHERE nom = '"+u_nom+"' AND mdp = '"+u_pwd+"'";
            PreparedStatement stmt = con.prepareStatement(PRE_STMT);
     ResultSet r = stmt.executeQuery();
             
   
     // gestin des droits
            // bosser sur panel et faire du setVisible
     if (r.next()) {
 
  System.out.println("Vous etes un utilisateur de categorie : "+r.getString(1));
     
  // ajouter les boutons correspondant a la cat
  // supprimer ceux en trop...  
 
 
  if (r.getString(1).equals("client" )) {
                System.out.println("un" );
      switch (u.getRight()) {
                    case 0 : f.displayButton("client" ); break;
      case 3 : f.removeButton("admin" );
                    case 2 : f.removeButton("agent" );
      }
      u.setRight(1);
  }
  else if (r.getString(1).equals("agent" )) {
                  System.out.println("deux" );
                    switch (u.getRight()) {
                    case 3 : f.removeButton("admin" ); break;
                    case 0 : System.out.println("affi client" ); f.displayButton("client" );        
                    case 1 : System.out.println("affi agent" ); f.displayButton("agent" ); break;
      }
      u.setRight(2);
  }
  else if (r.getString(1).equals("admin" )) {
                System.out.println("trois" );
                    switch (u.getRight()) {
                    case 0 : f.displayButton("client" );        
                    case 1 : f.displayButton("agent" );  
                    case 2 : f.displayButton("admin" ); break;
      }
      u.setRight(3);
  }
                else {System.out.println("quatre" );}
                r.close();
 
     }


 
j'ai cree une table UserDB  
[fixed]CREATE TABLE UserDB (nom char(12),  
       mdp char(8),  
       cat char(6) CHECK (cat='client' OR cat='agent' OR cat='admin'),
       PRIMARY KEY(nom, mdp));[\fixed]
 
 
j'ai une petit IG avec des champs ou je rentre nom et mot de passe...
j'affiche la cat renvoyee, elle est correcte...
 
mais les "if (r.getString(1).equals("client" ))" font n'importe quoi...
seul le client est bien reconnu...
quand je me log en admin ou en agent, l'appli renvoie "quatre"
 
une idee? :/

Reply

Marsh Posté le 04-05-2004 à 21:32:30   

Reply

Marsh Posté le 04-05-2004 à 21:49:32    

probleme de char / varchar... trouve

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed