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 :

fdQuery un SELECT de plusieurs champs dans EDI


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut fdQuery un SELECT de plusieurs champs dans EDI
    Bjr
    Dans mon EDI, j'ai écris une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fdQuery.sql.add ('SELECT ...... ....... ');
    fdQuery.sql.add ('FROM ...... ....... ');
    Le problème est que c'est plus de 40 champs à afficher dans le SELECT
    J'ai un message d'erreur : nombre de caractères doit être limitée
    Alors, comment puis-je écrire mon SELECT sur plusieurs lignes de codes afin que la syntaxe soit claire

    Merci de m'aider

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fdQuery.sql.add ('SELECT ......'
                    +'.......'
                    +'.......');

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut fdQuery un SELECT de plusieurs champs dans EDI
    Voici ma syntaxe
    EXEMPLE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fdQuery.sql.add (' SELECT .... ... table.champ10 '
                    +'  table.champ11, ..... '
                    +'  table.champ30, ... ....  ') ;
    fdQuery.sql.add (' FROM table ') ;
    Mais je reçois un msg d'erreur du genre
    ERREUR DE SYNTAXE (OPÉRATEUR ABSENT) dans l'expression ”table.champ10 table.champ11

    Aidez-moi svp
    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Ca ne te dispense pas d'écrire une requête correct, il manque une virgule après table.champ10.

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 78
    Points : 136
    Points
    136
    Par défaut
    Est ce que tu peux nous donner tous le code de 'fdQuery.sql.add'? pour mieux comprendre

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par udinacer Voir le message
    Est ce que tu peux nous donner tous le code de 'fdQuery.sql.add'? pour mieux comprendre
    C'est l'inverse, c'est à vous de fournir le SQL complet, réel et fonctionnel, le SQL brut hors Delphi
    Ensuite de proposer votre essai de la version SQL écrit pour être utilisé en Delphi
    Car les ... ... cela n'aide absolument pas à être précis et pertinent.
    Et là nous pourrons vous aider à corriger votre tentative.
    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

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Déjà il est inutile de reprendre le nom de la table pour les champs (sauf s'il y a une union de plusieurs tables et encore dans un tel cas, un alias plus "court" est toujours plus facile à écrire)
    Ensuite plutôt que de faire des concaténations de chaines il suffit de scinder la liste des champs et de faire plusieurs SQL.Add
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fdQuery.sql.add (' SELECT .... ... table.champ10 '
                    +'  table.champ11, ..... '
                    +'  table.champ30, ... ....  ') ;
    fdQuery.sql.add (' FROM table ') ;
    devient alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fdQuery.sql.add ('SELECT .... ... champ10,');
    fdQuery.sql.add ('champ11, .....,]');
    fdQuery.sql.add ('champ30, ... ....') ;
    fdQuery.sql.add ('FROM table') ;
    P.S. vous remarquerez qu'ainsi il n'y a pas besoin de mettre des espaces ni en fin ni en début de ligne

    ERREUR DE SYNTAXE (OPÉRATEUR ABSENT) dans l'expression ”table.champ10 table.champ11
    Enfin SQL.Add ne corrigera pas la syntaxe du SQL c'est à vous d'y faire attention
    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. Réponses: 2
    Dernier message: 04/01/2010, 10h02
  2. Réponses: 7
    Dernier message: 19/09/2006, 18h02
  3. regrouper plusieurs champ dans un seul en requete
    Par Nicko29 dans le forum Access
    Réponses: 12
    Dernier message: 07/09/2005, 18h29
  4. Ramener plusieurs champs dans une sous requête...
    Par David.V dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2005, 07h54
  5. [CR9] Plusieurs champs dans details
    Par maxxou dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 28/01/2004, 13h35

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