Problème de requete

boumboum2006 Messages postés 32 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 27 mai 2006 - 3 mai 2006 à 10:07
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 3 mai 2006 à 23:33
salut tout le monde,
est ce que quelqu'un pourrait m'aider?
le problème vient d'une requete:

String req1 = "select NOMDOM from domaine where(domaine.IDORG='"+IDORG+"' AND domaine.IDDOM not in (Select domaine.IDDOM from domaine,cotsdom where domaine.IDDOM=cotsdom.IDDOM) )";
ResultSet res1=u.get_Connexion().consulter_Table(req1);



dans la méthode suivante:

public ResultSet chercher_Domaines_nonajoutésCOTS(String nom,Utilisateur u ,int i)

{String log=u.get_Login();
String pass=u.get_Password();
if(i!=0)
{
String req = "select organisation.IDORG from organisation,ingenieurs where (NOMORG='"+nom+"' AND ingenieurs.idorg=organisation.idorg AND ingenieurs.PASSWORD='"+pass+"' AND ingenieurs.login='"+log+"') ";
ResultSet res=u.get_Connexion().consulter_Table(req);
String IDORG="";
try{ boolean resnext=res.next();
IDORG=res.getString("IDORG");
}
catch(SQLException e) { System.err.println("Probleme"); }

String req1 = "select NOMDOM from domaine where(domaine.IDORG='"+IDORG+"' AND domaine.IDDOM not in (Select domaine.IDDOM from domaine,cotsdom where domaine.IDDOM=cotsdom.IDDOM) )";
ResultSet res1=u.get_Connexion().consulter_Table(req1);

return res1;
}}



on utilise mysql comme sgbd et on n'a pas compris l'erreur:est ce "select not in" ne peut pas etre exécuter normalement?
Svp aidez moi c'est urgent pour terminer mon pfe

6 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
3 mai 2006 à 10:13
Quelle est ton erreur exactement ???

Si tu utilises MySQL 4 c'est normal que ta requête imbriquée ne passe pas car ce SGBD ne gère pas cela dans cette version. Il a fallu attendre la version 5 pour les requêtes imbriquées ... :s

++
0
boumboum2006 Messages postés 32 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 27 mai 2006
3 mai 2006 à 10:47
ouh lala,grave problème:(!
qu'est ce que je doit faire maintenant,c'est que j'utilise la version mysql 4.0.15
j'ai aussi la version 4.1.9 mais je l'ai pas essayé

qu'est ce que je doit faire?d'ou puije l'avoir la version 5?
j'ai vraiment besoin de la requete imbriqué.

est ce que je pourrais pas la remplacer par une autre requete.

l'erreur est généré par la consultation de la table:

Probleme grave lors de l'execution de la requete de consultation

java.lang.NullPointerException

at pfe.Gestionnaire_Interfaces.main(Gestionnaire_Interfaces.java:171)

Exception in thread "main"

et la méthode de consultation est la suivante:



public ResultSet consulter_Table(String requete)
{ ResultSet resultat= null;
try
{ Statement stmt= con.createStatement();
resultat=stmt.executeQuery(requete);
}
catch(SQLException e)
{ System.err.println("Probleme grave lors de l'execution de la requete de consultation");

}
return resultat;
}
0
boumboum2006 Messages postés 32 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 27 mai 2006
3 mai 2006 à 11:14
svp svp neodante,
c'est urgent pour mon pfe,est ce qu'il y a une solution ou c'est impossible?je commence à désespérer ,j'ai essayer de faire la requete sans imbriquation mais c'est impossible je doit utiliser le (not in) ou le (not exists)
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
3 mai 2006 à 13:33
Tu peux le download sur le site officiel :
http://dev.mysql.com/downloads/

Sinon il faut que tu fasses 2 requêtes séparés et que tu fassses ton NOT IN en code ...

Mais avant toute chose c'est ton Statement qui semble être null donc cela ne semble pas venir de la requête (met une sortie sur statement pour vois si celui-ci est effectivement null). Regarde ça en premier et dis moi ;-)

C'est pour une de ces raisons que je n'ai jamais compris pourquoi MySQL avait autant de succès (autre que par avoir été là au bon moment et avoir saisi la bonne opportunité) surtout maintenant que d'autres SGBD sont beaucoup mieux (PostgreSQL, Firebird, ...) mais bon c'est le côté marketing qui fait que cela marche :(

++
0

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

Posez votre question
boumboum2006 Messages postés 32 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 27 mai 2006
3 mai 2006 à 18:17
merci pour votre aide,mais ça marche toujours pas:(((
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
3 mai 2006 à 23:33
T'as regardé si c'est ton statement qui est null ?

++
0
Rejoignez-nous