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 :

Guillemets obligées autour des noms de champs et de tables


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 76
    Points : 29
    Points
    29
    Par défaut Guillemets obligées autour des noms de champs et de tables
    Bonjour,

    Encore une question de débutants pour changer !

    Je fais un select depuis delphi 2005 dans une base Interbase 7.

    Si je ne mets pas des guillemets autour des noms de champs et de tables dans les select (IBQuery, IBUpdateSql), ça sort en erreur.

    L'apport de guillemets résout le souci.

    C'est très contraignant. Pourtant dans IBConsole, je ne suis pas obligé d'utiliser des guillemets. Qu'est-ce qui m'échappe ?

    Merci pour votre aide.

    PS : J'ai cherché dans le forum, mais pas trouvé...

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Les doubles cotes sont obligatoires si tu utlise des caracteres speciaux ou des mots clés SQL dans le nom de tes champs
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 76
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par JustMe
    Les doubles cotes sont obligatoires si tu utlise des caracteres speciaux ou des mots clés SQL dans le nom de tes champs
    À la vache ! Tous mes champs ont un underscore ! Exemple : "Tuser_nom"

    Ça viendrait de là !

    NON... Je viens de tout changer et pour rien... Je viens de faire un test : j'ai fait une table avec un seul champ

    table : "seance"
    champ : "seancenom"

    Je suis toujours obligé d'utiliser les guillemets même pour un nom de table et de champs aussi basics...

    La seule fois où ça a marché sans guillemets, c'est en gardant les noms TABLE1 et FIELD1 par défaut proposés dans EMS IB Manager...

    À moins que cela soit EMS qui perturbe ma base ? Je ne sais plus quoi penser...

    Une autre idée ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 76
    Points : 29
    Points
    29
    Par défaut
    Au risque de dire une bêtise, mes tests m'amènent à penser que je dois utiliser que des noms de champs et de tables en majuscules.

    Quand je fais ça, je n'ai plus besoin de guillemets, même si j'utilise underscore dans les noms, comme 'TUSER_NOM" par exemple.

    Quelqu'un confirme ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Points : 66
    Points
    66
    Par défaut
    Si tu définis dans ton Create Table le champ "T_User", interbase fait attention à la casse.
    Si dans ton create tu ne met pas de guillemet, le nom de champ est converti en majuscule.

    De ce fait si ton champ est "T_User", quand tu feras une interrogation de ta table avec select, tu devras mettre le champ entre guillemet. Dans le cas inverse interbase converti le T_User en T_USER. Apparament c'est dû à un respect des normes SQL.

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

Discussions similaires

  1. Obligation double-quote autour des noms de champs ?
    Par itokia dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/03/2013, 07h52
  2. Réponses: 4
    Dernier message: 05/07/2006, 15h47
  3. Pb export des noms de champ avec # ds EXCEL
    Par 31Steph dans le forum Access
    Réponses: 1
    Dernier message: 29/06/2006, 08h13
  4. [ODBC] Comment mettre à jour 2 bases ayant des noms de champs différents ???
    Par Alexlesilex dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/05/2006, 17h08
  5. Récupération des noms de champs d'une table
    Par Battomura dans le forum SQL
    Réponses: 2
    Dernier message: 24/03/2003, 10h00

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