IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Resultset comme retour d'une methode ?


Sujet :

JDBC Java

  1. #1
    Membre éclairé Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Par défaut Resultset comme retour d'une methode ?
    Salut a tous
    pourrai je faire ce qui suit? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public synchronized ResultSet request()
    {
    }
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    bien sur...

    pourquoi on ne pourrait pas?

  3. #3
    Membre éclairé Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Par défaut
    Salut
    quand je l'ai fait le resultset retourner ne contient rien!!!!!!
    voila mon code

    ma première classe (la ou j'intérroge la BD)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    import java.sql.*;
     
    public class DBRequest {
     
     
        public Integer queueLength = new Integer(0);
     
        public synchronized ResultSet request(String num,String dsn) throws SQLException{
     
               DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
               Connection dbconn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:DSLAM", "DSLAM", "dslam");
               Statement dbstmt = dbconn.createStatement();
               ResultSet rset = dbstmt.executeQuery("select * from DSLAM.TEST where TEST.DSLAM like 'Kasbah-1-C-MA5600'");//+dsn+"' and TEST.CHECKED=0");
     
     
     
               if(rset.next()){
                   //dbstmt.executeQuery("update DSLAM.TEST set TEST.CHECKED=1 where TEST.DSLAM like 'Kasbah-1-C-MA5600'");//"+dsn+"'");
                   System.out.println(rset.getString(2));
                   rset.first();
               }
     
     
     
               return rset;
     
        }
     
    }

    La recuperation de la ResultSet dans une Variable de type ResultSet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    retour=((DBRequest)DBRequestVector.get(elementNum)).request(num.toString(),DSLAMNAME);//<<<<Erreur ICI !!!!
    BESOIN D'AIDE SVP

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    //<<<<Erreur ICI !!!!
    quel genre d'erreur plz...

  5. #5
    Membre éclairé Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Par défaut
    Salut
    Voila l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Errorjava.sql.SQLException: Opération non valide sur un ensemble de résultats de type forword-only : first
    MERCI

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    bin... c'est pourtant clair...

    Le ResultSet ne peut pas être parcourru dans les 2 sens. En gros, tu ne peux pas rembobiner, et c'est ce que dit le message.

    Il y a un moyen de préciser, dans le PreparedStatement, que l'on souhaite récupérer des ResultSet bidirectionnels, mais je ne me souviens plus de la syntaxe exacte...



    PS: ou alors il suffit de virer ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        if(rset.next()){
                   //dbstmt.executeQuery("update DSLAM.TEST set TEST.CHECKED=1 where TEST.DSLAM like 'Kasbah-1-C-MA5600'");//"+dsn+"'");
                   System.out.println(rset.getString(2));
                   rset.first();
               }

  7. #7
    Membre éclairé Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Par défaut
    RESALUT
    Existe - il un moyen de connetre si le Resultset est vide ou pas?
    moi j'ais utiliser :
    int i=0;
    resultset.
    i=resultset.getRow();
    if(i!=0).....

    mais je comprend pas ce qui se passe si le resultset ne contien aucune ligne.
    est ce que la valeur du resultset sera null? ou quoi?
    MERCI

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    rs.next() renvoie false dès que le resultset n'a plus de données

Discussions similaires

  1. Un vecteur comme retour d'une methode Webservice
    Par proganas dans le forum Services Web
    Réponses: 3
    Dernier message: 07/10/2009, 18h12
  2. Ajouter un DLL comme parametre dans une method
    Par charaf dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/09/2007, 09h36
  3. Réponses: 2
    Dernier message: 24/08/2007, 01h54
  4. Que faire de la valeur de retour d'une methode
    Par david_snps dans le forum C++
    Réponses: 5
    Dernier message: 24/01/2006, 07h39
  5. [Reflection] Récupérer le retour d'une méthode
    Par nana1 dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 10/11/2005, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo