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

Framework .NET Discussion :

Connexion String, SaveFileDialog et répertoire courant


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Par défaut Connexion String, SaveFileDialog et répertoire courant
    Bonjour,

    Je rencontre un comportement inattendu lors de l'utilisation d'un SaveFileDialog et je sèche un peu sur la façon de contourner le problème :

    Notre application comporte une base sqlite gérée avec EF. La chaîne de connexion du app.config pointe directement vers le fichier de base de données puisque celui-ci est contenu à la racine de l'application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    connection string='data source="catalog.db"'"
    Lorsque dans l'application j'utilise un SaveFileDialog (qui va fournir le chemin du fichier cible à un TextWriter utilisé par un XmlSerializer pour sérialiser les données de l'utilisateur), l'application perds la connexion à la base de données et va recréer un fichier catalog.db dans le repertoire où le savefiledialog va enregistrer le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TextWriter tw = new StreamWriter(filePath);
                    serializer.Serialize(tw, this.Project);
                    tw.Close();
    En débuggant, j'ai compris que le repertoire courant (%CD%) changeait lors de l'utilisation de SaveFileDialog.
    Cependant, dans l'optique d'un déploiement, comment puis-je faire en sorte que ma connexion string pointe toujours vers le répertoire racine de l'application sans utiliser de chemin absolu? Le cas échéant, comment paramétrer ma chaîne de connexion lors du déploiement? Je n'ai encore jamais créé une application visant à être déployée via un installeur (ClickOnce ou autre) et la documentation msdn est assez légère sur cette question.

  2. #2
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Tu pourrais modifier la connectionString en lui ajoutant le chemin complet vers le répertoire de ton application.

    Ceci dit, tu peux le faire avec un projet setup, mais je ne pense pas que ça soit envisageable avec ClickOnce.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Par défaut
    En fait j'ai trouvé, il suffit d'ajouter |DataDirectory| avant le nom de fichier de bdd dans le champ datasource de la connection string. A l'execution, ADO l'interpretera comme un lien vers le repertoire App_Data ou à défaut le repertoire racine de l'appli.

  4. #4
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Effectivement, mais il aurait fallu préciser dès le départ que tu bossais avec ASP.NET
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

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

Discussions similaires

  1. Répertoire courant
    Par remika dans le forum Entrée/Sortie
    Réponses: 19
    Dernier message: 05/07/2005, 11h18
  2. [Débutant] Connaitre le répertoire courant
    Par The Wretched dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/06/2005, 12h51
  3. [File] Problème de répertoire courant
    Par seb_asm dans le forum Applets
    Réponses: 5
    Dernier message: 03/05/2005, 19h44
  4. [JSP] Récupérer le répertoire courant
    Par dafly dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 10/06/2004, 11h01
  5. répertoire courant ".\"
    Par tut dans le forum MFC
    Réponses: 2
    Dernier message: 10/03/2004, 09h57

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