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 :

TADOQuery et les paramètres ??


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Par défaut TADOQuery et les paramètres ??
    Hello,

    Je dois migrer une appli BDE vers ADO.

    J'avais mis des composants RxQuery dans lesquels j'avait des syntaxes du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select CHAMP1 from TABLE where %critere
    et au grès des besoins de l'utilisateur, la syntaxe "%critere" était remplacée par une chaine pouvant contenir de 1 à 20 conditions, genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     nom like 'A%' and date_cre > '01/01/2006' and Type_F = 'F'
    Mais sous ADO, d'après ce que j'ai compris de l'utilisation des paramètres, c'est que ça ne permet que de passer une valeur.

    Par exemple, si je reprends le tuto ADO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PARAMETERS Annee integer; UPDATE Authors SET Authors.[Year Born] = 1972
    WHERE Authors.[Year Born]=[Annee];
    Je me suis inspiré de cet exemple pour passer ma chaine de critères, mais ça ne marche pas tout.

    Y a t'il un moyen pour passer une chaine complète en paramètres d'une requête ADO, et pas seulement une valeur pour un champ ??

  2. #2
    Membre chevronné
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Par défaut
    Y a t'il un moyen pour passer une chaine complète en paramètres d'une requête ADO, et pas seulement une valeur pour un champ ??
    -> NON

    Par contre tu peux faire la même chose qu'auparavant tu faisais avec le BDE :
    Tu devais avoir un genre de StringReplace de &critère par les valeurs des critères...
    Parce qu'avec BDE, c'était pareil, un paramètre ne pouvait être une chaîne de plusieurs membres sql (ne serait-ce que pour que le SQL puisse être parsé)

  3. #3
    Membre très actif Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Par défaut
    En fait, les RxQuery gérent des macros, un peu comme ADO gère ses paramètres.

    Dans mon composant RxQuery, je définis une variable macro, que j'appelle "critère", et de type string.

    Ensuite dans la requête,j'appelle la macro par "%critere"

    Et enfin dans le code je fais MacroByName('critere').value:= ma_chaine_where

    Et hop ! magique.

    Et c'est bien ce que je cherche à reproduire avec ADO.

    S'il n'y a pas d'équivalent, je vais bien devoir ma taper tout à la main, mais je trouve ça dommage (enfin ça ne m'étonne pas plus que ça, depuis que je passe à ADO, je vais de déceptions en déceptions...)

    Ou alors y a t'il une bibliothèque de composants ADO plus évolués que ceux fournis de base avec Delphi ?

  4. #4
    Membre chevronné
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Par défaut
    Ou alors y a t'il une bibliothèque de composants ADO plus évolués que ceux fournis de base avec Delphi ?
    Pas à ma connaissance...
    Mais pourquoi ne pas implémenter tout simplement le remplacement d'une balise par un contenu sur un événement, comme le faisaient les RX ?

    Suffit de créer une classe descendant de TADOQuery, lui ajouter une propriété SQL_backup et une propriété OnParseEvent, et tu retrouves le même fonctionnel...

  5. #5
    Membre très actif Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Par défaut
    Citation Envoyé par cmen76
    Pas à ma connaissance...
    Mais pourquoi ne pas implémenter tout simplement le remplacement d'une balise par un contenu sur un événement, comme le faisaient les RX ?
    Parce qu'avant de me lancer dans de la prog, je cherche d'abord s'il y a pas quelque part une méthode déjà existante.

    Mais vu qu'il n'y a rien d'équivalent, pas le choix, je vais bien devoir tout me taper à la mano.

Discussions similaires

  1. [Débutant] Récupérer les paramètres d'une routine
    Par nifty dans le forum Assembleur
    Réponses: 5
    Dernier message: 18/04/2005, 14h35
  2. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  3. Changer les paramètres régionaux
    Par STEF_1 dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2004, 15h39
  4. Problème avec les paramètres date BDE/ODBC Oracle/XP Pro
    Par Bloon dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 10h09
  5. Réponses: 4
    Dernier message: 04/07/2003, 19h13

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