Problème requête - Java - Programmation
Marsh Posté le 25-05-2008 à 20:56:02
J'ai trouvé l'erreur je n'avais pas crée de Driver nommé Agence pour la base de donnée concernée si ça peut aider quelqun.
Mais j'ai un autre problème maintenant.Voici l'erreur:
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans la chaîne dans l'expression « (Ville_Arrivée.Nom_A=Paris') AND (Vol.[Date-D]=22-06-2008) AND (Vol.Date_A=25-06-2008) AND (Vol.Horaire_D=Matin) AND (Vol.Horaire_A=Midi) ».
Je ne comprend pas la requête marche sous access.
Marsh Posté le 25-05-2008 à 21:09:00
Y a pas de site,je suis étudiant c'est mon premier programme où je manipule une base de données alors soyez tolérants SVP.
Il y a une erreur dans ma requête la voici :
) en trop dans l'expression « (Ville_Arrivée.Nom_A=) AND (Ville_Départ.Nom_D=) AND (Vol.[Date-D]=) AND (Vol.Date_A=) AND (Vol.Horaire_D=Matin) AND (Vol.Horaire_A=Midi) ».
Mais je n'arrive pas à trouver le ) en trop
Marsh Posté le 25-05-2008 à 23:49:54
GL912 a écrit : Y a pas de site,je suis étudiant c'est mon premier programme où je manipule une base de données alors soyez tolérants SVP. Mais je n'arrive pas à trouver le ) en trop |
Bah règle #1: on ne construit jamais des requêtes en faisant des "machin = " + arg
=> TOUJOURS utiliser http://java.sun.com/j2se/1.4.2/doc [...] ement.html
Marsh Posté le 26-05-2008 à 00:25:28
Je l'ai fait mais le variable prix que j'ai mise reste à 0.
Ça ne marche pas.Pour prendre la valeur retournée je fais
ResultSet r =P.executeQuery();
Puis Prix=r.getInt() non ?
Edit:En fait ça marche fallait faire r.getInt(1) merci Taz je vais enfin pouvoir dormir.
Marsh Posté le 25-05-2008 à 20:43:26
Bonjour tout le monde j'ai un problème de connexion à une base de données et il est très urgent de le résoudre,voilà le code:
public int Recherche_Vol(String Ville_D,String Ville_A,String Date_D,String Date_A,String Horaire_D,String Horaire_A)throws SQLException,ClassNotFoundException{
int prix=0;
String dbUrl = "jdbc:odbc:Agence";
String user = "";
String password = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
Connection c = DriverManager.getConnection(dbUrl, user, password);
Statement s = c.createStatement();
ResultSet r =
s.executeQuery(
"SELECT Vol.Prix " +
"FROM Ville_Départ INNER JOIN (Ville_Arrivée INNER JOIN Vol ON Ville_Arrivée.Nom_A = Vol.Nom_A) ON Ville_Départ.Nom_D = Vol.Nom_D " +
"WHERE " +
"(Ville_Arrivée.Nom_A=" + Ville_A + "') " +
" AND (Vol.[Date-D]=" + Date_D + " ) " +
" AND (Vol.Date_A=" + Date_A + " ) " +
" AND (Vol.Horaire_D=" + Horaire_D + " ) " +
" AND (Vol.Horaire_A=" + Horaire_A + " ) " );
while(r.next()) {
prix=r.getInt("Vol.Prix" );
}
s.close();
return prix;
}
L'erreur: [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
Merci je m'aider,car je débute en JDBC et je n'arrive pas à trouver le problème.Je précise que je suis sous vista,que j'utilise Eclipse et que ma BD a été réalisé sous Access.
Message édité par GL912 le 25-05-2008 à 20:56:35