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

Bases de données Delphi Discussion :

Récupération d'une variable de retour


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Points : 223
    Points
    223
    Par défaut Récupération d'une variable de retour
    Bonjour,

    tout d'abord j'utilise Delphi7, Oracle 8i et les composants DOA (accès à oracle).

    Mon problème est le suivant :

    j'ai une procédure stockée qui ressemble à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure Test (param1 in number, param2 in varchar2, param3 in out number, param4 in out number);
    begin
    ...
    Mise à jour param3 et param4
    end;
    Je souhaiterais récupérer avec Delphi les variables param3 et param4.

    J'utilise un TOracleQuery avec le code SQL ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    begin
      pkg_....test (:par1, :par2, :par3, :par4);
    end;
    Pour appeler la requete je l'utilise comme ça dans delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    with toraclequery do
    begin
      setvariable ('par1', val1);
      setvariable ('par2', val3);
      setvariable ('par3', val3);
      setvariable ('par4', val4);
      Execute;
     
    valeur3 := getvariable ('par3');
    valeur4 := getvariable ('par4');
    end;
    Je n'ai aucun plantage (déjà une bonne chose ) mais les valeurs retournées ne sont pas correct.

    J'ai testé la procédure stockée celle-ci fonctionne correctement

    Je vois pas où est le problème.

    Si quelqu'un a une solution je suis preneur.

    Je peux aussi transformer cette procédure en fonction mais je ne sais pas comment récupérer le résultat de type record PL/SQL dans Delphi.

    A+

  2. #2
    Membre habitué Avatar de PierreDelcroix
    Profil pro
    Inscrit en
    Février 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 90
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 86
    Points : 192
    Points
    192
    Par défaut
    Quand vous utilisez 'Execute', ça veut dire qu'on a pas de résultats. Je crois que c'est seulement possible de récuperer des résultats quand on utilise 'Open'

  3. #3
    Membre actif
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    je ne peux pas utiliser de Open car il n'y a pas cette méthode.

    De plus, c'est des valeurs de retour que je veux récupérer et non pas le résultat d'un select (auquel cas j'aurai pris un TOracleDataSet).

    Personne voit?

    A+

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    A la fin de ta procédure stockée, rajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select param3,param4
    et retourne les comme un ensemble de resultat (c'est ce que je faisais sous SQL serveur pour avoir un retour multiple de données)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. Retour chariot + récupération dans une variable JS
    Par seblo_scoqi dans le forum Langage
    Réponses: 12
    Dernier message: 03/12/2008, 10h37
  2. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 11h19
  3. petite question sur la récupération d'une variable
    Par minusette dans le forum Langage
    Réponses: 6
    Dernier message: 17/11/2005, 16h57
  4. [C#] Récupération d'une variable d'environnement
    Par jamy79 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2005, 14h03
  5. Récupération d'une variable
    Par cach dans le forum Windows
    Réponses: 7
    Dernier message: 22/02/2005, 11h19

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