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

Langage Java Discussion :

Get String Value?


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 46
    Points
    46
    Par défaut Get String Value?
    OK voilà, je désire mettre l'adresse IP de ma connection dans une String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    conn = DriverManager.getConnection("jdbc:postgresql://192.168.0.110:5432/" + bd, "admin", "test");
    String nomConn = conn.getCatalog();
    System.out.println(nomConn);
    rendu ici, la variable nomConn contient

    "bd_exemple"

    Cependant si je regarde plus profondément le contenu de nomConn, dans l'attribut Value il y a

    "jdbc:postgresql://192.168.0.110:5432/bd_exemple"

    Je croyais que le contenu de Value était le contenu de la String mais il semble que ce n'est pas le cas.

    Comment puis-je mettre le contenu de Value dans ma String?

    J'espère avoir été assez clair...Merci

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Et pourquoi pas ?!...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String value = "jdbc:postgresql://192.168.0.110:5432/" + bd;
    conn = DriverManager.getConnection(value, "admin", "test");
    String nomConn = conn.getCatalog();
    System.out.println(value);
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 46
    Points
    46
    Par défaut
    Parce que la connection se crée dans une méthode static qui retourne déjà quelque chose. J'ai simplifié mon code pour expliquer mon problème plus facilement mais en fait le code que j'ai donné se fait entre 2 classes.

    Je ne veux pas non plus envoyer l'adresse de connection en parametre car cette méthode est appelée par environs 20 classes et que si je désire changer cette adresse je devrais la changer 20 fois.

    http://img.photobucket.com/albums/v2...linPimp/01.jpg

    Si je désire faire cela c'est qu'il y a une raison et que ce semble la seule issue. Merci.

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Perso j'ai du mal à comprendre ton problème exact !?
    Tu pourrais être plus clair ?

    a++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 46
    Points
    46
    Par défaut
    Cela semble compliqué mais en fait le problème est bien simple

    Le screenshot que j'ai posté plus haut l'explique bien

    j'affiche une String, qui ,selon mon éditeur de code, contient:

    "jdbc:postgresql://192.168.0.110:5432/bd_exemple"

    mais seulement:

    "bd_exemple"

    est affiché

    Je désire donc afficher le contenu "Value" de ma String.

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ah ok je comprend mieux...

    getCatalog() ne te renvoit que le nom du catalogue de la base de donnée, c'est à dire dans ton cas "bd_exemple". C'est donc normal que tu n'ai que ceci...

    Par contre le driver Postgresql doit se contenter de faire un substring() sur l'URL que tu lui as passé, et afin d'optimiser le code la JVM partage le tableau de char en utilisant des index...

    Mais tu n'as pas accès à cette valeur...

    Le mieux serait d'adapter la méthode statique afin d'utiliser une autre méthode statique qui te renverrait l'IP, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static Connection getConnection() {
        return DriverManager.getConnection( getURL() + bd, "admin", "test");
    }
     
    public static String getURL() {
        return "jdbc:postgresql://192.168.0.110:5432/";
    }
    a++

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 46
    Points
    46
    Par défaut
    Parfait!

    J'avais pourtant essayé quelque chose de semblable mais j'obtenais une erreur de droits d'accès, j'ai encore un peu de misère à bien utiliser les appels entre classes et méthodes.

    Merci adiGuba

    a+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/10/2010, 12h39
  2. [MySQL] Incorrect string value: '\xE9sireu...' for column
    Par ETVigan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/07/2010, 13h36
  3. problème requete "Incorrect string value"
    Par darontankian dans le forum Débuter
    Réponses: 11
    Dernier message: 09/12/2009, 09h58
  4. Erreur mysql incorrect string value 1366
    Par calitom dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/09/2009, 09h16
  5. [MySQL] [php mysql et accent] : Incorrect string value '\xE0 cot\xE9.'
    Par eth85 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/02/2009, 23h24

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