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

Oracle Discussion :

ResultSet : Curseur contenant un curseur


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Par défaut ResultSet : Curseur contenant un curseur
    slt,

    voila mon souci:

    j'ai une requete SQL qui retourne un curseur C contenant des INT, des STRING et un CURSOR C2.

    je recupeur le curseur C dans ma fonction java avec un resultSet.
    Celui-ci contient bien les int et string mais en revanche pour le CURSOR C2 il contient:
    oracle.jdbc.driver.OracleResultSetImpl@157053a au lieu des champs contenu dans C2.
    quelqu'un saurait-il comment faire pour recuperer ses champs?

    Merci d'avance

    ma requete SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     OPEN cur FOR
    	SELECT EFE_LREF, EFE_DATEM,
                            CURSOR (SELECT EFL_NO, EFL_ART, 
                                         FROM EPFACTLIG
    		                                WHERE EFL_LREF=EFE_LREF) IL
    FROM EPFACTENT
    	 WHERE EFE_STAT=31;

  2. #2
    Membre émérite Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Je doute que cela soit possible autrement que par la production de deux boucles imbriquees, la deuxieme recuperant la valeur d'un REF CURSOR par l'intermediaire de l'execution d'un appel a une procedure PL/SQL stockee.

    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
     
    Statement stmt1 = oc.createStatement();
    String sql = "SELECT 1 FROM dual UNION SELECT 2 FROM dual";
     
    ResultSet rSet1 = stmt1.executeQuery(sql);
    while ( rSet1.next() )
      {
      System.out.println(rSet1.getString(1));
     
      cstmt2 = oc.prepareCall
          ("begin ? := my_package.my_cursor(?); end;");
      cstmt2.registerOutParameter(1, OracleTypes.CURSOR);
      cstmt2.setString(2, rSet1.getString(1));
      cstmt2.execute();
      cursor2 = ((OracleCallableStatement)cstmt2).getCursor(1);
     
      while (cursor2.next ())
        {System.out.println (cursor2.getString(1));} 
     
      cstmt2.close();
      cursor2.close();
      } 
     
    rSet1.close();
    stmt1.close();

Discussions similaires

  1. Récupérer l'élément contenant le curseur
    Par mlny84 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/08/2009, 12h02
  2. ResultSet ne contenant qu'un élèment comme resultat
    Par fripette dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/04/2008, 14h29
  3. Réponses: 1
    Dernier message: 07/06/2007, 17h44
  4. [Curseur] Modifier le curseur lors d'un clic bouton
    Par Casp dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/12/2005, 11h45

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