La condition where dans la requete sql select n'accepte pas le slash!!!

emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 - 1 mars 2012 à 11:09
 Utilisateur anonyme - 9 avril 2012 à 23:39
salut
j'arrive pas a sélectionner la ligne de table où la colonne est une varchar qui contient des slash ex: 22/10/10
la colonne est bien déclaré comme varchar dans la base de données (NumPermis) et String (n)

public void Rechercher() {
System.out.println("PROCEDURE DE RECHERCHE");
Connection cnx=null;
Statement st=null;
ResultSet resultset;

try {
cnx = DriverManager.getConnection("jdbc:mysql://localhost/permis1?user=root&password=");
Class.forName("com.mysql.jdbc.Driver").newInstance();
st=cnx.createStatement();
n=tnump.getText();
String rqIns="SELECT * FROM fiche_permis WHERE NumPermis = " +n;
resultset= st.executeQuery(rqIns);                   
if(resultset.first())
 {
JOptionPane.showMessageDialog(null,"FICHE TROUVEE !","voir",JOptionPane.OK_CANCEL_OPTION);
trouver j=new trouver(n);
cnx.close();
}
 else {
JOptionPane.showMessageDialog(null,"FICHE NON TROUVEE !","MESSAGE D\'ERREUR",JOptionPane.ERROR_MESSAGE);
cnx.close();
   }
}
catch(Exception x) {
JOptionPane.showMessageDialog(null,"INFORMATIONS INCORRECTES","MESSAGE D\'ERREUR",JOptionPane.ERROR_MESSAGE);
System.out.println(x);x.printStackTrace();}

}//fin recherche

7 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mars 2012 à 11:16
Bonjour,

Je vais commencer par déplacer le message vers le forum java
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mars 2012 à 11:21
Ta requête est incorrecte, il n'y a aucun rapport avec les / si NumPermis est bien un VARCHAR alors la requete correcte est la suivante :

String rqIns="SELECT * FROM fiche_permis WHERE NumPermis='" + n +"';";


Les varchar doivent être entours par des ''

Attention aux injections SQL et respectes les normes de codage java, tu seras plus facile à lire.
0
Utilisateur anonyme
1 mars 2012 à 13:21
Au fait, si tu veux un champs pour la data, passe par le type Date si possible qui est plus approprié que le type varchar.


--
Pylouq
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
4 mars 2012 à 08:44
merciiii Julien39 le probleme est reglééé

String rqIns="SELECT * FROM fiche_permis WHERE NumPermis='" + n +"';";


Les varchar doivent être entours par des ''

Attention aux injections SQL et respectes les normes de codage java, tu seras plus facile à lire.



j'ai une autre question, je peux faire la recherche dans une table sur plusieurs colonnes (NumPermis, Nom,Prenom et DateNaiss):

String rqIns="SELECT * FROM fiche_permis WHERE NumPermis='" + n +"'and Nom='"+m+"' and Prenom= '"+o+"'and '"+p+"';";


??????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
4 mars 2012 à 09:49
Peux tu me décrire ton erreur ? Je ne peux pas tester ta requête, il faut donc me décrire ce qui ne va pas.

A priori tout à l'air normal sauf qu'il faut que tu ajoutes des espaces entre ' et and 'and Nom= -> ' and Nom= fais comme ça pour tout et ça devrait rouler
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
5 mars 2012 à 08:30
ya pas d'erreurs merci
ca marche correctement
0
Utilisateur anonyme
9 avril 2012 à 23:39
Mets ton sujet en résolu dans ce cas.


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
Rejoignez-nous