ResultSet [Résolu]

Listener 15 Messages postés lundi 1 novembre 2004Date d'inscription 25 janvier 2006 Dernière intervention - 9 janv. 2006 à 14:52 - Dernière réponse : gmi19oj19 546 Messages postés lundi 10 mai 2004Date d'inscription 28 septembre 2011 Dernière intervention
- 9 janv. 2006 à 15:46
Bonjour,

Après avoir écrit ces deux instructions :
<%
String comptertoutesleslignes = "select count(*) from film";
ResultSet rs = lien.executeQuery(comptertoutesleslignes);
%>

Je souhaiterais afficher le résultat de ma requête SQL. Le problème c'est qu'ne écrivant ceci :
<% out.println("\nRésultat : "+rs); %>
Le navigateur me renvoie le message suivant :
om.mysql.jdbc.ResultSet@1757337

Comment puis-je récupérer le résultat sous forme de String ou int, peu importe ?

Cordialement.
Afficher la suite 

3 réponses

Répondre au sujet
gmi19oj19 546 Messages postés lundi 10 mai 2004Date d'inscription 28 septembre 2011 Dernière intervention - 9 janv. 2006 à 15:46
+3
Utile
Le rs.next() est obligatoire car quand tu recupères ton resultset il pointe sur aucune ligne de resultat.

Le plus simple, vu ton cas, est de faire rs.next() puis

<% out.println("\nRésultat : \n"+rs.getInt(1)); %>

Et si la méthode que j'proposais n'est appliquée à aucun objet,, c'est parce que j'etais dans le contexte de l'appel à une méthode de la même classe.

gmi19oj19
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de gmi19oj19
gmi19oj19 546 Messages postés lundi 10 mai 2004Date d'inscription 28 septembre 2011 Dernière intervention - 9 janv. 2006 à 15:08
0
Utile
La méthode toString ne devant pas etre redefinie dans la classe ResultSet, c'est à toi d'en faire une équivalente.

<% out.println("\nRésultat : \n"+toString(rs); %>

Et tu rajoute une méthode

public String toString (ResultSet rs) {
String s = "";
while (rs.next()) {
// ici, recupéré les données de chaque lign de ton ResultSet et formater ça
// comme il faut
}
return s;
}

C'est p'tet pas tout à fait correct puisqu'à vue de nez c'est du code JSP et que j'y connais rien, mais l'idée est là^^

gmi19oj19
Commenter la réponse de gmi19oj19
Listener 15 Messages postés lundi 1 novembre 2004Date d'inscription 25 janvier 2006 Dernière intervention - 9 janv. 2006 à 15:31
0
Utile
OK, je comprends bien ton idée, mais le problème est que ma requête SQL doit renvoyer un nombre ou un String, puisque le résultat de "select count(*) from film;" renvoie le nombre de lignes présentes dans la table film. Admettons qu'il y en ait 100. Le retour de cette requête SQL sera un entier 100 ? un String "100" ?
Dans la redéfinition de la méthode toString, pourquoi pas c'est peut-être une bonne idée, mais que veux-tu que j'écrive dans le "while (rs.next())" ??
Et puis, lorsque tu écris <% out.println("\nRésultat : \n"+toString(rs); %>
la méthode toString(rs) n'est appliquée à aucun objet ... un peu curieux.
En tout cas, merci de ta réponse !
Commenter la réponse de Listener

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.