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

Interfaces de programmation Oracle Discussion :

[PRO*C] Recuperer le codeRetour d'une fonction SQL


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Par défaut [PRO*C] Recuperer le codeRetour d'une fonction SQL
    Bonjour à toutes et à tous.

    Ayant développé quelques petites fonctions en PL/SQL, j'aimerais maintenant récupérer le retour de certaines fonctions dans une variable que je
    retournerai dans mon programme en C et ce pour me fournir diverses
    informations (sortie ok, nok, pas de nouvelles données à traiter etc...).

    Cependant, voila un peu ce que donne mon code PRO*C :

    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
    EXEC SQL INCLUDE SQLCA;
    
    int MaFonctionAppeleeDansMonCodeC
        ( int iMonParametre1EnC
        , int iMonParametre2EnC)
    {
        EXEC SQL WHENEVER SQLERROR GOTO ERR_APPEL ;
        EXEC SQL EXECUTE 
        DECLARE
            vCrFonction    NUMBER;
            vMonParametre1    NUMBER;
            vMonParametre2    NUMBER;
    
        BEGIN
            vMonParametre1 := :iMonParametre1EnC;
            vMonParametre2 := :iMonParametre2EnC;
    
            vCrFonction := MonPackageSql.MaFonctionSql(MonParametre1, 
    MonParametre2);
    
        END;
    
        END-EXEC;
        return(je voudrais retourner vCrFonction);
    
        ERR_APPEL:
        return(-1);
    }
    En fait, je sais que pour utiliser les variables C dans mon code SQL je dois mettre :. Cependant, pour faire l'inverse, i.e. utiliser une variable SQL dans mon code C, je ne sais pas vraiment comment procéder.

    Merci d'avance pour vos réponses.

    Bahan

  2. #2
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Salut,
    As-tu essayé de déclarer une variable int avant le bloc Pro*C, et de lui affecter ensuite la valeur de vCrFonction ? Voire de déclarer directement vCrFonction comme int ?

  3. #3
    Membre confirmé Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Par défaut
    Je vous remercie beaucoup de votre réponse.
    Ca marche .
    Bahan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PRO*C] affectation du resultat d'une fonction
    Par gadjou dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 06/12/2006, 07h50
  2. recuperer un tableau d'une fonction
    Par nixonne dans le forum C
    Réponses: 28
    Dernier message: 30/11/2006, 05h14
  3. Réponses: 4
    Dernier message: 07/11/2006, 11h28
  4. [SQL] php et recuperation d'une valeur renvoyée par une fonction sql
    Par highman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2006, 15h42
  5. Recuperation de formulaire dans une fonction
    Par arsgunner dans le forum ASP
    Réponses: 5
    Dernier message: 23/06/2004, 15h04

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