Problème statement

mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 - 6 mars 2012 à 14:51
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 - 12 mars 2012 à 09:45
Bonjour,

En fait j'ai un problème de base de donnée mais impossible de savoir d'où ça viens. Je souhaite récupérer toutes les données d'une table access. Pour cela j'ai utilisé la méthode du "Statement/Resultset" mais la méthode me renvoie une exception à chaque fois : "Erreur lors de la requête : SELECT * FROM matable;". J'ai voulu debugger mais je n'ai rien trouvé et n'étant pas doué en java je me tourne vers vous pour de l'aide. J'utilise eclipse (helios). A savoir que théoriquement ma connexion à la base de donnée est bonne.

Merci d'avance.

Voici mon code :


String requete = new String("SELECT * FROM matable;");
ResultSet resultat = faireRequete(requete, connAccess);

private ResultSet faireRequete(String requete, Connection baseDonnee)
{
ResultSet resultats = null;
try
{
Statement stmt = baseDonnee.createStatement();
resultats = stmt.executeQuery(requete);
}
catch(Exception e)
{
pI.afficherErreur((new StringBuilder("Erreur lors de la requ\352te :\n")).append(requete).toString());
e.printStackTrace();
}
return resultats;
}

4 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
6 mars 2012 à 15:23
Bonjour.
avec le e.printStackTrace(); ça doit te donner une trace d'erreur qui t'indique ton problème.
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
6 mars 2012 à 15:36
Méaculpa. Je viens de m'apercevoir que je n'avais pas entré le nom de la bonne base de données dans le DNS. (boulet)

Merci quand même de m'avoir répondu laurent0124 !
0
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
8 mars 2012 à 17:06
ton code n'est pas TOP


String requete = "SELECT * FROM matable;"; // new String("aa") instancie 2


fermer correctement les objets :

Statement stmt =null;
try
{
stmt = baseDonnee.createStatement();
resultats = stmt.executeQuery(requete);
}
catch(Exception e) {
LOGGER.error(e);
throw new TonException(e);
} finally {
if (stmt!=null) {
try {
stmt.close();
} catch(Exception ignore) {}
}
}

faire pareil pour le resultset


et encore mieux
la méthode de DAO retourne directement un objet métier.

public BOTonMeter findAll() {
// l'accès JDBC ici
}


ResultSet resultat = faireRequete(requete, connAccess);

private ResultSet faireRequete(String requete, Connection baseDonnee)
{
ResultSet resultats = null;
try
{
Statement stmt = baseDonnee.createStatement();
resultats = stmt.executeQuery(requete);
}
catch(Exception e)
{
pI.afficherErreur((new StringBuilder("Erreur lors de la requ\352te :\n")).append(requete).toString());
e.printStackTrace();
}
return resultats;
}
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
12 mars 2012 à 09:45
Merci pour tes conseils shaiulud. Je ne suis vraiment pas bon en java, je n'ai fait que reprendre le projet pour réparer certaines erreurs mais je vais modifier le code pour l'adapter à ta façon.
0
Rejoignez-nous