La requete select avec java

Messages postés
71
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
27 avril 2013
- - Dernière réponse : cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
- 1 mars 2010 à 17:36
bonjour;
j'ai un problem avec la requete sql voici le code:
String requete "SELECT * FROM enseignant WHERE mail_ens'"+mail+"' AND pass_ens = '"+motpasse+"'" ;
ResultSet rs =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(requete);
int n=0;
while(rs.next())
n++
if(n!=0) //l'enregisterement est trouvé
else
// l'enregistrement n'existe pas n'existe pas

je vous explique le problem:
on fait la requete l'mail et le motde passe de l'enseignant pour qu'il arrive a connecté je ne sais pas comment continuer
resultat est dans la variable rs malgré je saisi desenregistrement existe mé toujour mm'affiche (l'enregistrement n'existe pas)
heeeeeeeeeeeeeeelp pleaaaaaaaaaase
Afficher la suite 

14 réponses

Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Salut,

Si tu nous montrais ton vrai code pour voir ce qui cloche ? Car là il nous manque tout les points virgules, donc dur dur de savoir si ta variable n est bien incrémentée !

Sinon, il existe la fonction getRow pour savoir l'index de ligne, du coup :
rs.last();
n rs.getRow(); // te renvoie la dernière ligne> 0 s'il n'y en a pas, sinon, renvoie le nombre d'enregistrement.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
58
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
9 janvier 2011
0
Merci
salut
String requete "SELECT * FROM enseignant WHERE mail_ens'"+mail+"' AND pass_ens = '"+motpasse+"'" ; 
ResultSet rs =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(requete); 
if(rs.next()){
System.out.println("l'enregisterement est trouvé");
}else{
System.out.println("l'enregistrement n'existe pas n'existe pas");
}
rs.close();
Commenter la réponse de ouabida10
Messages postés
71
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
27 avril 2013
0
Merci
j'ai essyeé avec mais ça n'a pa marché
(rs.last();
n = rs.getRow();

il me renvoi la valeur dans n egale a zero(0)
malgré quil existe dans la table enseignant!!!!
ça se peu que le problem est dans la valeur du champ pass_ens(c 'est du type varchar)
et la valeur saisi j'ai la mie dans un (Jtextpassword);
est ce que ça impose une erreur!!
c_a_d entre les deux chaines (celle qui est dans la base enregistrer deja, et celle que je teste maintenant!!!
merçi d'avoir me repondre
Commenter la réponse de ghezella
Messages postés
58
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
9 janvier 2011
0
Merci
           try{
String requete "SELECT * FROM enseignant WHERE mail_ens'"+mail+"' AND pass_ens = '"+motpasse+"'" ;
    Connection con=DBConnection.connect();
Statement st=con.createStatement();
 ResultSet rs=st.executeQuery(requete);

if(rs.next()){
System.out.println("l'enregisterement est trouvé");
}else{
System.out.println("l'enregistrement n'existe pas n'existe pas");
}  
        con.close();
        rs.close();
}catch(Exception es){
}

Commenter la réponse de ouabida10
Messages postés
58
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
9 janvier 2011
0
Merci
quelle SGBD vous utiliser
oracle , mySQL ,....?
Commenter la réponse de ouabida10
Messages postés
71
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
27 avril 2013
0
Merci
j'utilise mysql
Commenter la réponse de ghezella
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Salut,

Fait un System.out.println de la requête telle qu'elle est exécutée, et regarde si les valeurs des variables mail et motpasse sont correctes...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
58
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
9 janvier 2011
0
Merci
oui un System.out.println de la requête avant l'exécution de la requete
System.out.println(requete);
ResultSet rs=st.executeQuery(requete);
...

Commenter la réponse de ouabida10
Messages postés
71
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
27 avril 2013
0
Merci
voila ce qu'il m'affiche::


{SELECT * FROM enseignant WHERE
mail_ens ='isam'AND pass_ens = '[C@1b963c4'

la valeur de n =0
l'enregistrement n'existe pas }


donc est ce que le probleme est dans le password????pask le password que je letappe est 'isam'
c la mme valeur stockée dans la table'isam' mais il il na pas trouvé????
Commenter la réponse de ghezella
Messages postés
58
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
9 janvier 2011
0
Merci
il faut laisser un espace entre ' est AND
2eme le mot de passe que vous taper et elle qu'il s'afiche ou non ..?
Commenter la réponse de ouabida10
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Salut,

Comment tu affecte la valeur à ta valeur motpasse : la valeur affichée ressemble à une adresse mémoire d'un objet !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
1
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010
0
Merci
Salut

pouvez vous nous donner la pertie du code ou se situe la fonction Login ?
Commenter la réponse de abd_ham_juve
Messages postés
71
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
27 avril 2013
0
Merci
oui , parceque c'est un mot de passe doit etre invisible!!
a moin qu'il existe une methode qui fait la comparaison entre ses deux valeur parce que comment vous avez dite ils sont comme des adresse mémoir!!!!!
une valeur peuventavoir + qu'un code!!!!!!

j'ai utilisé un jtextpassword pour la saisi du mot de passe
et dans la base (table),il est du type varchar;
Commenter la réponse de ghezella
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Salut,

Le problème vient de l'attribution de la valeur à la variable : tu lui passe une adresse mémoire et non la valeur saisie dans ton champ texte tout simplement.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS