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

Windows Forms Discussion :

[C#] Connectstring modifiable après publication


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut [C#] Connectstring modifiable après publication
    Bonjour,
    Je suis confronté à un problème toute bête.
    Pour gérer mes connection au sein d'une solution j'utilise un projet moRequete, avec dans Proprieties/setting, ma connectString.
    Jusque là tout est bon.
    Depuis mon Projet COBNET, j'ai en référence ce projet moRequete duquel je crée des instance, et fais mes connection (moRequete utilise la connectString de sa proprieties)

    La connectstring est visible dans un fichier app.config à la racine de mon projet moRequete.
    La génération de mon projet COBNET engendre la création d'un dll de mon projet moRequete et du COBNET.exe.config.
    A ce moment le moRequete n'est plus qu'une seule dll est je n'ai plus accès à la configuration "manuel" de ce projet.
    Si je veux changer la connectString, je suis obligé de recompiler mon projet...
    N'y a-t-il pas une autre solution ?

    Je précise que j'ai essayé de configurerma connectString dans le projet COBNET estde le donner en référence à moRequete, mias il se mord la queue (cobnet en ref de morequete et morequete en ref de cobnet) et refuse de l'intégrer.

    Merci pour vos eclaircissement.

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Petit up.
    Mon explication parrait compliqué, mais pourtant en gros j'ai besoin que après publication de ma solution, il reste un fichier de config pour moRequete, pour modifier la connectString manuellement.

  3. #3
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    La réponse est dans ta question : tu colles la connectionstring dans un fichier de config

    Pour plus d'info

  4. #4
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Malheureusement je n'arrive pas à le mettre dans un fichier de config
    Si j'ajoute un fichier de config par le projet, il me compile le projet en 1 seulle dll unique

  5. #5
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Help, comment ne pas le faire compiler le projet en 1 seule dll ?

    Merci

  6. #6
    Membre extrêmement actif
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Billets dans le blog
    3
    Par défaut
    Avant toute chose j'ai ajouté 2 propriétés dans mon projet (Settings.settings) :
    igcagendaConnectionSetting et igcagendaConnectionString qui contiennent ceci par défaut :
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\igcagenda.mdb

    Normalement tu as un fichier Setting.cs dans ton projet. Tu dois en modifier le constructeur. Voici l'extrait du mien, et je t'explique ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      public Settings() {
     
                Preferences prefs = new Preferences();
                prefs = prefs.getPreferences();
     
                this.Properties["igcagendaConnectionSetting"].DefaultValue = prefs.localizeMdb;
                this.Properties["igcagendaConnectionString"].DefaultValue = prefs.localizeMdb;
            }
    Preferences c'est une classe que j'ai crée qui sérialise au format xml différentes propriétés de l'application. setPreferences enregistre le résultat xml dans le répertoire de l'utilisateur (pas utilisé ici), et getPreferences charge ce fichier et en extrait les valeurs.

    Dans cette classe j'ai une propriété : localizeMdb. Elle contient le chemin de la base de données de l'application (Microsoft Access dans mon cas, mais ça pourrait être une URL SQL server).

    Donc si dans mon fichier XML je change :
    <localizeMdb>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\igcagenda.mdb</localizeMdb>

    Mon appli se mettra en liaison avec ce nouveau "chemin".

    Pour résumer :

    -> 2 propriétés dans Settings.settings
    -> Modification de ces propriétés dans le Settings.cs grâce à
    this.Properties["nom_de_la_prorpiété"].DefaultValue

Discussions similaires

  1. ToolStripButton INVISIBLE apres publication
    Par gridin dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/01/2013, 22h46
  2. Répertoire par défault à modifier après lancement
    Par Mattetfamilly dans le forum C++Builder
    Réponses: 11
    Dernier message: 08/03/2007, 18h37
  3. Réponses: 3
    Dernier message: 15/02/2007, 09h31
  4. fichiers modifiés après passage par socket
    Par kitue dans le forum C++
    Réponses: 2
    Dernier message: 06/02/2007, 06h40
  5. fichier modifier apres instruction de lecture???
    Par cyberwaves dans le forum C++
    Réponses: 4
    Dernier message: 09/09/2004, 22h02

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