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 :

Paramètre liste de valeur


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Par défaut Paramètre liste de valeur
    Bonjour,

    J'accède à une base Oracle 9 en utilisant un TADOQuery dans Delphi 7.

    J'ai une requête du type:
    select * from toto
    where tutu in :tutu

    Ensuite j'aimerais passer plusieurs valeurs dans le parametre :tutu (par un tableau, une liste ou autre). J'ai essayé de passer un array of integer, mais une exception est remontée.

    Existe-t-il une solution?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Par défaut
    C'est un peu barbare mais j'ai réussi à le faire comme ça :

    select * from toto
    where instr (:tutu, trim(to_char(tutu, '00'))) > 0

    Le hic avec ce genre de requête c'est que tu ne peux pas (enfin je sais pas faire) passer un tableau de valeur. Donc tu es obligé dans delphi de transformer ta liste d'entiers en une chaine de caractères formatée :
    1, 5, 12, 15
    devient
    '''01'', ''05'', ''12'', ''15'''


    to_char (tutu, '00') te permet de formater ton champs au même format que les éléments de ton paramètre

    instr (X, Y) est > 0 lorsque la chaine X contient la chaine Y

    Voilou

  3. #3
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Par défaut
    C'est moins barbare que ce que j'avais fait en attendant, à savoir un AnsiStringReplace de :tutu par ma liste de valeur dans la requête SQL.

    Merci pour ta réponse. Ca fera l'affaire.

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

Discussions similaires

  1. [Procédure stocké] - Liste de valeurs dans un seul paramètre
    Par baboon dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/05/2009, 15h26
  2. [BO 5.1.8] Invite et liste de valeurs paramètrables
    Par moun_moun dans le forum Deski
    Réponses: 8
    Dernier message: 30/11/2008, 14h34
  3. liste des valeur dans grille de paramètre
    Par racha dans le forum Reports
    Réponses: 1
    Dernier message: 05/04/2008, 19h17
  4. paramètre avec liste de valeurs
    Par aguignier dans le forum iReport
    Réponses: 2
    Dernier message: 25/03/2008, 15h08
  5. Réponses: 3
    Dernier message: 23/01/2006, 11h43

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