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

JDBC Java Discussion :

Récupérer le caractère utilisé pour les noms de colonnes


Sujet :

JDBC Java

  1. #1
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut Récupérer le caractère utilisé pour les noms de colonnes
    Bonjour,

    Je réalise une application qui doit être la plus indépendante possible du SGBD utilisé. J'utilise donc l'API JDBC.

    J'aimerai aussi que les requêtes générées par mon application soient les plus génériques possibles. Or, j'ai un problème sur ce point.

    En effet, la simple requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT "MaTable"."MaColonne" FROM "MaTable"
    fonctionne parfaitement avec ma base de données HSQL. Cependant, elle ne passe pas sous MySQL, étant donné que le caractère de séparation des noms de colonnes est le ` et pas " comme pour HSQL... Ce qui fait que ma requête pour MySQL devrait être la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `MaTable`.`MaColonne` FROM `MaTable`
    J'imagine que pour Oracle ou d'autres SGBD, ce caractère peut être tout autre... Ai-je un moyen de récupérer ce caractère via l'API JDBC ou dois-je moi même gérer à la main les différents cas possible ?

    Merci d'avance pour votre aide.


    P.S. : Lorsque je souhaite afficher le contenu d'une table sous Netbeans, après avoir ajouté le bon driver, celui-ci m'affiche automatiquement la bonne requête en fonction du type du SGBD utilisé... J'imagine donc qu'il existe un moyen pour récupérer cela sans faire du "cas par cas" (puisque netbean le fait ou semble le faire)...

  2. #2
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Trouvé !
    Me manquait juste le vocabulaire en fait... comment se nomme cette "chose"

    http://java.sun.com/javase/6/docs/ap...rQuoteString()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Pour MySql l'apostrophe inversée (`) n'est pas obligatoire mais conseillée en cas de litige.
    Et pour ta rqte si tu l'écris comme ceci elle passera partout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT MaTable.MaColonne FROM MaTable
    tant que tu reste dans le SQL générique.

  4. #4
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Oui mais s'il y a un espace dans le nom de la table ou de la colonne, ca ne passe plus... Avec ce caractère de protection des identifiants, mes noms de tables et de colonnes peuvent comporter n'importe quels caractères, ma requête ne plantera pas

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    C'est exact mais si la bdd est construite dans les règle de l'art y pas d'espace, nom de champs courts et en minuscules ...

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

Discussions similaires

  1. Caractères autorisé pour un nom de colonne
    Par wariom dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/04/2008, 10h49
  2. Quelles sont les protocoles réseau en général utilisé pour les MMORPG/MMORTS?
    Par @v@lon dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 09/03/2007, 20h47
  3. Récupérer infos page html pour les insérer dans Outlook
    Par andromede88 dans le forum Windows
    Réponses: 4
    Dernier message: 21/09/2006, 14h21
  4. [RegEx] Quels caractères interdire pour les logins utilisateurs ?
    Par Death83 dans le forum Langage
    Réponses: 24
    Dernier message: 15/05/2006, 21h45
  5. [PostGreSQL] Récupérer les noms des colonnes
    Par Olivier14 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/02/2006, 18h51

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