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

Delphi Discussion :

Paramétrer ADOStoredProc sous Delphi XE3


Sujet :

Delphi

  1. #1
    Membre très actif Avatar de animalx123
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2015
    Messages : 148
    Par défaut Paramétrer ADOStoredProc sous Delphi XE3
    bonjour
    je voudrais executer une procedure stocker MSsql sur delphi xe3 avec adostoredproc et je coince sur les parametres ,
    ma procedure insert des champs sur des table automatiquement et je me sert d'une variable d'entre @o3 pour que la procedure la traite et l'enregistre
    la procedure est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    alter proc insc @o3 varchar(25)
    as begin
    declare @sta char(25), @for char(25), @mon money,@adr char(25), @o2 varchar(25)
    set @sta= (SELECT id_sta FROM stagiaire WHERE id_sta = (SELECT MAX(id_sta) FROM stagiaire))
    set @for=(select id_for from formation where nom_for=@o3)
    set @mon=(select montant_for from formation where id_for=@o3)
    set @adr=(SELECT id_adr FROM adresse WHERE id_adr = (SELECT MAX(id_adr) FROM adresse))
    insert inscription(date_isc,montant,id_sta,id_for)values
    (getdate(),@mon,@sta,@for)
    insert stagiaire (id_adr)values
    (@adr)
    end
    et avec delphi je veux affecter la chaine de caractaire d'un combobox a la variable @o3 a l'execution de la procedure
    merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Utilise un Parameters.ParamByName('@o3').Valuele @ peut poser problème
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre très actif Avatar de animalx123
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2015
    Messages : 148
    Par défaut
    le @ c'est la variable declarer dans la proc sql server

  4. #4
    Membre très actif Avatar de animalx123
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2015
    Messages : 148
    Par défaut
    et SVP une derniere question : comment parametrer une variable output pour retourner un resultat sur un edit

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 604
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    pour récupérer un ensemble de données à partir d'une procédure, le mieux est d'utiliser une requête de ce genre :

    SELECT <colonnes> FROM MAPROCEDURE(<parametres>);

    par exemple pour la procédure indiquée insc, en admettant qu'elle retourne un résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ADOQuery.SQL.Text:='SELECT * FROM insc(:p)'; // :p valeur de o3
    ADOQuery.Parameters.ParamByName('p').Value:='valeur o3';
    ADOQuery.Open;
    bien noter qu'il faut utiliser Open et non ExecSQL lorsque l'on veut obtenir un ensemble résultat.

    Ceci étant, ADO (comme MSSQL) n'étant pas ma tasse de thé , il y aura peut être des ajustements à faire genre :
    - indiquer le type de paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     // param : TParameter;
      Param := ADOQuery.Parameters.ParamByName('p');
      Param.DataType := ftString;
      Param.Value := 'valeur o3';
    pour commenter la réponse de ShaiLeTroll moi j'aurais simplement mis Parameters.ParamByName('o3').Value sans le @, mais toujours avec le même "ajustement"

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Citation Envoyé par animalx123 Voir le message
    et SVP une derniere question : comment parametrer une variable output pour retourner un resultat sur un edit
    Data.Win.ADODB.TParameter.Direction à pdOutput
    qui est l'équivalent de ptOutput
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/09/2013, 14h05
  2. retrouver les compsants FASTNET sous Delphi 7
    Par fandor7 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/06/2003, 18h11
  3. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  4. calcul sous delphi
    Par djedje-08 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2003, 17h39
  5. Réponses: 4
    Dernier message: 27/03/2002, 11h03

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