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 :

Passage de paramètre in


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Passage de paramètre in
    Bonjour,
    Je voudrais passé en paramètre une requete oracle avec un in.
    Exple :
    ancienne query1
    query1.sql.text := 'SELECT * FROM CLIENT WHERE NO_CLIENT IN (1, 2)';

    nouvelle query1
    query1.sql.text := 'SELECT * FROM CLIENT WHERE NO_CLIENT IN (:num_client)';

    J'ai essayé
    query1.parambyname('num_client').asString := '1,2';
    Ca ne fontionne pas.

    Quelqu'un peut m'aidé à passer ce paramètre.
    Yopla2000

  2. #2
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Je ne crois pas que ce soit possible. Il faut modifier la requète directement.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  3. #3
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Si tu veux utiliser des paramètres, tu dois construire ta requête dynamiquement afin d'obtenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query1.sql.text := 'SELECT * FROM CLIENT WHERE NO_CLIENT IN (:num_client1, :num_client2)';
    puis renseigner les 2 paramètres

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  4. #4
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Je confirme, j'ai déjà eu ce problème :numclient attend une et une seule valeur.
    Si tu connais à l'avance le nombre de valeurs possibles, utilises la méthode de Bloon. Sinon, tu peux faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            while ilyadesvaleurs do
             begin
                machaine:=machaine+','+unevaleur;
             end;
    query1.sql.text := 'SELECT * FROM CLIENT WHERE NO_CLIENT IN ('+machaine+')';
    7 fois à terre, 8 fois debout

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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