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 :

Passer une liste d'entiers en Params ?


Sujet :

Bases de données Delphi

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Pourquoi pas comme cela :

    (...)

    Je l'ai pas du tout tester je viens de le saisir à la volé. Mais cela devrai le faire.



    @Sergio : i love the parameters...
    Euh, le but c'est quand même de me simplifier la vie, pas le contraire !
    C'est plus simple d'avoir un bloc de code avec du SQL quasiment en clair (et avec la coloration syntaxique c'est bien démarqué), et la liste des paramètres en dessous, facilement modifiable...
    Là avec ton code, si j'ai la moindre modification sur ma requête, il faut que je passe un temps fou à me souvenir à quoi servait le code, et à comprendre comment le changer pour arriver à mes fins.

    @Cl@udius: ben justement, j'y suis revenu, pour ce cas bien précis j'utilise Format.

    Ma question de départ était surtout de savoir s'il était possible de passer un Params AsString sans que la chaîne soit insérée dans la requête avec des '' autour, à la façon de Format. Puisque ce n'est pas possible, retour sur Format.

    Mais est-ce que ce n'est pas un "bug" au fait, ce passage de AsString avec des '' autour ? Est-ce qu'il ne serait pas plus logique que ce soit au programmeur d'ajouter les '' si nécessaire avec un QuotedStr par ex. ?

  2. #22
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 046
    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 046
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Comme déjà indiqué , avec BDE cela ne marche pas le paramètre étant évalué après la syntaxe . avec RxQuery (toujours BDE hèlas) c'est possible
    a une modification près car il y a distinction entre params et macros , les macros étant évalués avant la syntaxe , avantage entre macrros et params la syntaxe est quasiment identiques

    Maintenant avec d'autres composants ?

    donc la bonne vieille méthode du SQL.text ou SQL.Add reste la meilleure solution .
    Utiliser mon code ListeParse ou Format n'est plus qu'une question de Goût ou de couleurs , l'important c'est que la syntaxe SQL soit la bonne
    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. RANDOM sur une liste d'entiers ?
    Par simodsio dans le forum C
    Réponses: 2
    Dernier message: 18/09/2008, 12h15
  2. Passer une liste de string dans un preparedstatement
    Par thierryler dans le forum JDBC
    Réponses: 6
    Dernier message: 13/03/2008, 14h30
  3. Faire passer une liste horizontale à la ligne
    Par Gizmil dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 19/11/2007, 16h40
  4. Réponses: 2
    Dernier message: 08/09/2006, 09h00
  5. [TRANSACT] passer une table d'entier dans un SELECT
    Par tiboleo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/04/2005, 10h22

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