Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Résultat de plusieurs ResultSet [ Système / JDBC ] (LocalStone)

samedi 12 mai 2007 à 19:00:50 | Résultat de plusieurs ResultSet

LocalStone

Salut à tous,
Je débute dans le développement en Java et surtout dans l'utilisation de JDBC.
Alors voilà, j'ai une classe de type singleton nommée Database qui se charge de se connecter à une base de donnée Oracle, et de créer un Statement à partir de la connexion. Elle possède une méthode ResultSet query(String sql) qui se charge d'executer les requêtes, et qui retourne un ResultSet.
Elle fonctionne bien, sauf dans le cas où je fais 2 requêtes d'affilée ... Imaginons par exemple 2 tables différentes Ouvrier et Client qui possèdent toutes les 2 au moins 4 enregistrements (je précise ça car le problème ne vient pas des tables).

        // Série 1
        ResultSet result1 = database.query("SELECT * FROM Ouvrier");
        result1.next();
        System.out.println(result1.getInt(1));
        result1.next();
        System.out.println(result1.getInt(1));
        System.out.println("--------------------");
       
       // Série 2
        ResultSet result2 = database.query("SELECT * FROM Client");
        result2.next();
        System.out.println(result2.getInt(1));
        result2.next();
        System.out.println(result2.getInt(1));
        System.out.println("--------------------");
         
       // Série 3
        result1.next();
        System.out.println(result1.getInt(1));
        result1.next();
        System.out.println(result1.getInt(1));
        System.out.println("--------------------");


Et bah ça marche pas. La série 3 m'affiche le reste de la série 2 au lieu du reste de la série 1 ... Pourquoi ? Comment faire pour que ça ne fasse pas ça ?
Merci pour vos réponses !
LocalStone

samedi 12 mai 2007 à 19:15:52 | Re : Résultat de plusieurs ResultSet

emmatopiak

Salut,

OK

Tu pourrais faire une copie du ResultSet dans une classe a toi
ainsi tu aurais pas de problemes
 mais c'est etrange
 a Ta place oui je ferais une copie de ResultSet comme ca ca serait regle
 car peut-etre que ResultSet ne stocke pas tout pour pas prendre trop de memoire
 mais recupere au fur et a mesure les donnees manquantes

Une autruche ne se cuit pas aux petits lardons.

samedi 12 mai 2007 à 19:22:28 | Re : Résultat de plusieurs ResultSet

LocalStone

Je vais déjà essayer ta solution, mais en fait, j'ai dis une connerie dans mon premier post. Je ne récupère pas la suite, mais en fait j'obtiens l'exception suivante :  Exception in thread "main" java.sql.SQLException: Ensemble de résultats épuisé, ce qui est étrange dans le sens où ma table contient un nombre suffisant d'entrée ...
Mais je vais déjà essayer ta solution.
Merci !


samedi 12 mai 2007 à 19:32:23 | Re : Résultat de plusieurs ResultSet

LocalStone

Bon ... Bah je viens d'essayer, mais on ne peut pas cloner un objet Statement ... Donc ça ne marche pas ... Que faire ?

samedi 12 mai 2007 à 22:27:36 | Re : Résultat de plusieurs ResultSet

emmatopiak

re

Il faudrait regler le probleme de la SQLException d'abord
voir si ca marche ou pas

Une autruche ne se cuit pas aux petits lardons.

dimanche 13 mai 2007 à 14:02:53 | Re : Résultat de plusieurs ResultSet

LocalStone

Un petit Up, si quelqu'un peut m'aider parce que je ne m'en sors pas tout seul ...

mercredi 16 janvier 2008 à 17:57:48 | Re : Résultat de plusieurs ResultSet

kzaazoui

bonjour,
tester de travailler avec deux variables
"database": "database1" et database2",


  // Série 1
        ResultSet result1 = database1.query("SELECT * FROM Ouvrier");
        result1.next();
        System.out.println(result1.getInt(1));
        result1.next();
        System.out.println(result1.getInt(1));
        System.out.println("--------------------");
       
       // Série 2
        ResultSet result2 = database2.query("SELECT * FROM Client");
        result2.next();
        System.out.println(result2.getInt(1));
        result2.next();
        System.out.println(result2.getInt(1));
        System.out.println("--------------------");
         
       // Série 3
        result1.next();
        System.out.println(result1.getInt(1));
        result1.next();
        System.out.println(result1.getInt(1));
        System.out.println("--------------------");


(*** La programmation est l'art de faire parler la machine ***)



Cette discussion est classé dans : system, out, println, resultset, result1


Répondre à ce message

Sujets en rapport avec ce message

[java]creation de fichier ... [ par suber600 ] voila je dois creer un fichier composé d entier et de double. le fichier ne doit pas etre lisible par un editeur de texte comment dois je faire ? je v Besoin d'aide programme etudiants, assez simple [ par The Waxy Man ] J'ai re-besoin d'aide !!!ERREUR:C:\jdk1.3\bin\javaw.exe -classpath "C:\jdk1.3\jre\lib\rt.jar;C:\DATA\2ti\Eleves\Englebert" Englebertjava.lang.NullPoi prob avec vector et fichier [ par bruno270579 ] je dois faire un projet en java et j'ai une colle je dois faire un objet Client qui contiendrai les champs suivant String nom, prenom, adresse; et un URGENT!!! Problème avec applets et jdbc [ par PhilippeA ] Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a Problème APPLET JDBC ACCESS [ par PhilippeA ] Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a Problème APPLET JDBC ACCESS [ par PhilippeA ] Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a Problème APPLET JDBC ACCESS [ par PhilippeA ] Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a free et jdbc [URGENT !!!] [ par kerlutinhoec ] bien le bonjour !Bon, moi, je suis emmerdé par jdbc.J'utilise le driver org.gjt.mm.mysql.Driver pour essayer de me co a une bdd type MySQL.Alors le pr free et jdbc [URGENT !!!] [ par kerlutinhoec ] bien le bonjour !Bon, moi, je suis emmerdé par jdbc.J'utilise le driver org.gjt.mm.mysql.Driver pour essayer de me co a une bdd type MySQL.Alors le pr Enregistrer le source d'une page web a partir de son url [ par YavaDeus ] Alors voila le probleme, je souhaite enregistrer dans un fichier, le code d'une page html(a partir de son url) , de facon a pouvoir recuperer des info


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.