Probleme executeQuery [Résolu]

Messages postés
66
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
10 août 2007
- - Dernière réponse : cs_gattous
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Dernière intervention
7 octobre 2007
- 8 févr. 2006 à 17:02
Bonjour a tous trés cher amis développeur
voila bien comme d'habitude j'arrive avec un problème mais j'ai pu apporter des solutions a d'autres problèmes quand même..8)

Mon problème est le suivant:
je fais une requête ( select id from table where nom=nom; ), mais que ce passe t il si la requete sql ne trouve pas d'id???
que retourn rs = stmt.executeQuery("select id from table where nom=nom;"); //qu'y a t'il dans rs quand la requete donne aucun résultat

merci d'avance pour vos propositions!!!!!!
mat.
Afficher la suite 
A voir également:

Votre réponse

6 réponses

Meilleure réponse
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Dernière intervention
7 octobre 2007
3
Merci
s'il trouve pas d'id, donc le nom de la colonne est introuvable, il va relever une SQLException, et puisque d'habitude on ecrit le reste du traitement ds la boucle

try{
.....
t1-->rs = stmt.executeQuery("select id from table where nom=nom;");
traitement1...
.....
....
}
catch (SQLException sqle) // ou simple Exception
{
traitement2
}
le programme passe directement a l'instant t1 aau traitement t2.
Autre cas, s'il y a pas d'erreur sql, le champ id existe bien, mais la requete ne retourne aucun resultat, alors rs est tout simplement "null", et tout les traitements qu'on veut faire sur les enregistrements, classiquement contenus ds la boucle "while (rs.Next()) {traitement}", ne se font pas , car tout simplement rs.Next()==false!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_gattous
Messages postés
66
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
10 août 2007
0
Merci
est ce que tu es sur qu'il te fournit une erreur sql s'il n'y a pas de nom correspondant à la requête. J'ai essayé d'intégré ta technique dans mon code mais il ne se produit toujours rien. Je vais montrer cette partie de code pour que cela deviene plus explicative.

/* code */

try {
ConnecterBD();
stmt = conn.createStatement();
try {
rs = stmt.executeQuery("select idcreator from creator where nomcreator='"+creator+"';");//paramètre passer par la méthode post
}catch (SQLException sqle) {
stmt.executeUpdate("insert into creator (idcreator, nomcreator) values ('','"+creator+"');");
}
ce code est effectué dans le doPost (servlet) et lors de la creation de la page html, tout est ok sans erreur, mais dans la base pas d'entrée ajouté, a croire qu'il ne passe pas dans le catch.
en fait, je voudrais créer une entrée s'il n'en trouve pas une déjà présente!!
merci d'avance!!
mat.
Commenter la réponse de elfourbos
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Dernière intervention
7 octobre 2007
0
Merci
Essaie plutot ça

try {

ConnecterBD();

stmt = conn.createStatement();





rs = stmt.executeQuery("select
idcreator from
creator where nomcreator='"+creator+"';");

if (rs.Equals(null)) // Ou if (rs==null) si tu veux

{



stmt.executeUpdate("insert into creator (idcreator, nomcreator) values
('','"+creator+"');");

}



}catch (Exception sqle) {



System.out.println("Une erreur s'est présentée, en
voici la trace :"+ex.getStackTrace());

}
Commenter la réponse de cs_gattous
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Dernière intervention
7 octobre 2007
0
Merci
Ce serait plutot gentil de dire si ça a marché ou pas.....
Commenter la réponse de cs_gattous
Messages postés
66
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
10 août 2007
0
Merci
Excuse moi, j'était encore a fond dans cet appli., Alors le rs.wasNull() n'avait pas trop l'air de marché bizarrement, alors comme tu me l'a conseillé j'ai effectué le reste de mon traitement dans le catch ( c'est pas trop optimisé ) mé ca me pose pas de problème car la requête s'executè mais bloquait le programme.
Voila merci beaucoup encore pour ton aide
mat.
Commenter la réponse de elfourbos
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Dernière intervention
7 octobre 2007
0
Merci
Merci, je voulais juste m'informer, pour voir si t'as enkore besoin d'aide ou pas.
Commenter la réponse de cs_gattous

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.