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 :

Mot réservé et requête SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut Mot réservé et requête SQL
    Bonsoir à tous,

    J'ai hérité d'une table avec un champ ayant comme nom le mot réservé SQL 'NO', pour numéro de ligne. En Insérant un enregistrement via une requête SQL INSERT INTO, dans cette table, j'ai une erreur SQL m'indiquant l'utilisation incorrecte du mot clé 'NO'.

    Je voudrais savoir comment faire pour résoudre ce problème.
    Merci.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Quel SGBD ?
    Quel mode d'accès?

    Sinon, si tu insères une valeur pour chaque colonne, tu peux ne pas les mentionner dans la requête.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Paradox et Firebird 2.0

    Comment faire si je veux sélectionner seulement cette colonne ??

    ex : SELECT NO FROM MYTABLE. Alors que NO est le nom de la colonee et en même temps un mot réservé !

    Et Merci.

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    il te faut mettre le nom de ce champ entre double quotes, comme ceci
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT "NO" FROM MYTABLE;

  5. #5
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    J'y ai pensé et essayé sous SQL Explorer ! Voici le résultat :

    NO
    ---
    NO
    NO
    NO
    NO
    .
    .
    NO

    Et Merci

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    étrange, car sous IBExpert ca ne pose pas de problème.

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    ah ben non, là c'est la chaine "NO"

    en général c'est la contre cote (AltGr 7) : `NO`
    sous Accès c'est entre crochets : [NO]
    et normalement il est possible de s'en sortir en préfixant le nom du champ par le nom de la table : MaTable.NO
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Eh Non !

    Je viens d'essayer toutes ces possibilités en vain !

    Rien ne fonctionne. Je dis bien sous SQL Explorer avec une table Paradox.

    Merci pour vos idées.

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    bon je ne sais pas alors mais je sais que j'ai parfois des soucis avec PHPMyAdmin qui n'accepte pas une requête alors que MySQL l'accepte (via un script PHP par exemple)...c'est du à l'analyse que PHPMyAdmin fait de ma requête avant de la soumettre à MySQL.

    ton erreur vient de Paradox ou de SQL Explorer ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Bien sûr que l'erreur vient de SQL Explorer !

    L'erreur y est aussi si j'exécutais le script dans un TQuery dans Delphi.

    Autrement dit, l'erreur vient du BDE.

    Merci.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    as tu essyé:

    select No as Numero From TA_tble;

  12. #12
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par akli_agha Voir le message
    Bien sûr que l'erreur vient de SQL Explorer !

    L'erreur y est aussi si j'exécutais le script dans un TQuery dans Delphi.

    Autrement dit, l'erreur vient du BDE.

    Merci.
    en même temps ma question était un peu bête vu que Paradox n'est pas une base SQL et que c'est le BDE qui fait tout
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 49
    Points : 48
    Points
    48
    Par défaut Moi je pense que c'est normal
    NO est un mot réservé en SQL et quand tu l'utilises comme champ dans une table au moment de la requête le moteur SQL ne le traite pas un cela se devait normalement. C'est comme si dans ton programme delphi tu donnes à une variable le nom d'un mot réservé comme if, for, var par exemple. Delphi va refuser. Mais par contre quand tu crées tes tables tu n'utilises pas la code SQL c'est le seul problème. Le seul moyen de résoudre ce problème c'est de renommer le champ de ta table.

  14. #14
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par valer Voir le message
    NO est un mot réservé en SQL et quand tu l'utilises comme champ dans une table au moment de la requête le moteur SQL ne le traite pas un cela se devait normalement. C'est comme si dans ton programme delphi tu donnes à une variable le nom d'un mot réservé comme if, for, var par exemple. Delphi va refuser. Mais par contre quand tu crées tes tables tu n'utilises pas la code SQL c'est le seul problème. Le seul moyen de résoudre ce problème c'est de renommer le champ de ta table.
    personnellement je n'ai jamais utilisé SQL sur des bases Paradox
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. Requête SQL (simple) pour remplacer mot
    Par Ninette85 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 17/03/2011, 18h13
  2. [MySQL] [MySQL] requête sql recherche de mots clés
    Par lanysteph dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 02/07/2009, 18h13
  3. requête SQL: sélection de la première lettre d'un mot
    Par Claire07 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/07/2006, 11h41
  4. Requête SQL comportant un champ en deux mots ?
    Par bds2006 dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/06/2006, 11h41

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