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

SQL Firebird Discussion :

Firebird 2.5, delphi 2010, ADO et procédure stockée


Sujet :

SQL Firebird

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut Firebird 2.5, delphi 2010, ADO et procédure stockée
    Salut !
    le composant ADOStoredProc génère une erreur dont le code erreur est -104 si le nom de la procédure stockée commence par un " ou [ c'est ce que j'ai découverts bien que IBExpert exécute cette procédure stockée sans le moindre souci.

    le vrai problème est qu'à la conception ma procédure stockée renvoie le résultat escompté mais à l'exécution j'ai pas d'enregistrements malgré que j'ai fais rentrer les mêmes données !!

    voici le code en question :
    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
    procedure Tfm_ProcStockee.Button1Click(Sender: TObject);
    begin
      with DataModule2.ADOStoredProc1 do
      begin
        Prepared;
        Parameters[0].Value := Edit1.Text;
        Parameters[1].Value := StrToDate(Edit2.Text);
        Parameters[2].Value := StrToDate(Edit3.Text);
    // pour être sûr que les données saisies sont juste
        ShowMessage(Parameters[0].Value);
        ShowMessage(Parameters[1].Value);
        ShowMessage(Parameters[2].Value);
        ExecProc;
        Open;
      end;
      ShowMessage(IntToStr(DataModule2.ADOStoredProc1.RecordCount));
    end;
    j'ai vérifié et revérifié mais j'ai rien trouvé d'anormal, peut-être que quelqu'un a déjà vu quelque chose de pareil .....

    merci par avance pour toute idée ou piste
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #2
    Membre à l'essai
    Homme Profil pro
    ingénieur d'appication
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur d'appication
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Points : 17
    Points
    17
    Par défaut firebrid stored proc
    bonjour
    j'ai eux le méme probléme avec IBStoredProc pour une rqette qui renvoie une resultat

    alors j'ai utiliser IBQuery de façon IBQuery sélectionne le résultat en passant les paramétrés :Aparm1 et :Aparm2 est ça marche bien
    la requette dans IBQuery "myproc"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM SP_nom_procedure (:Aparm1,:Aparm2)
    dans le editeur de code delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          myproc.Close;
          myproc.ParamByName('Aparm1').DataType:=ftInteger;
          myproc.ParamByName('Aparm1').Value:=var1;
     
          myproc.ParamByName('Aparm2').DataType:=ftInteger;
          myproc.ParamByName('Aparm2').Value:=var2;
          if not myproc.Prepared then
          myproc.Prepare;
          myproc.Open;
    bonne chance

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    a mon avis 'Execproc' est en trop

    Il faut considéré avec Delphi la chose suivante : 'Tout ce qui renvoi des données implique un Open dans le cas contraire on utilise un Exec , proc ou sql selon le cas' .
    Je sais le raisonnement est simpliste mais facile a retenir

    après, pour la formulation exacte, cela dépend beaucoup de la suite de composants utilisé . Perso une procédure je préfére nettement l'utilisation de la Query ("Select * from Procedure")
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Réponses: 15
    Dernier message: 18/12/2013, 15h33
  2. [DELPHI 6.0][ADO] Récupérer le résultat d'une procédure stockée
    Par Invité dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/05/2008, 10h24
  3. ADO et procédure stockée qui renvoi plusieurs select
    Par Oliv- dans le forum Développement
    Réponses: 2
    Dernier message: 23/04/2008, 14h11
  4. [Delphi][Interbase] pb de procédures stockées
    Par 0rus59 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/07/2006, 13h53
  5. [DELPHI 2005]TADODATASET et procédure stockée
    Par Frank dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/11/2005, 19h51

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