0
votes

Accès à une variable dans l'app.config d'une classe C #

Je travaille avec une base de données à l'aide de C #. Mon problème vient lorsque j'essaie d'obtenir une valeur de app.config à dire avec quelle base de données le projet doit fonctionner fort>.

C'est ce que j'essaie: P>

namespace LanzamientoProyectos.BD
{
    public class ConsultasBD : IDisposable
    {
        private SqlConnection conexionBD;
        Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); 
        string valEmp = config.AppSettings.Settings["EMPRESA"].Value;

        private const string Empresa = "3";

        public ConsultasBD()
        {
            conexionBD = new SqlConnection(ConfigurationManager.AppSettings["ggConnectionString"]);
        }


4 commentaires

Avez-vous essayé et Google ces messages d'erreur? Il y a beaucoup de réponses ici qui aideront.


Bien sûr, mais j'ai essayé tout ce que j'ai vu et je ne trouve pas de solution.


Pourquoi ne stockeriez-vous pas vos chaînes de connexion où il aurait dû être stocké?


Si vous souhaitez stocker la chaîne de connexion dans l'app.config, je vous suggère de pouvoir définir l'app.config dans le projet actuel au lieu d'autres endroits.


4 Réponses :


0
votes

Le problème réside dans ces deux lignes: xxx

c # ne vous permet pas de vous référer à d'autres champs ( config dans ce cas) de cette manière. Si vous souhaitez accéder à config , vous devez le faire dans le constructeur ou toute autre méthode.

Un regard sur la documentation est utile ici: Erreur du compilateur CS0236 .

Si vous essayez d'initialiser une variable à l'extérieur d'une méthode, envisagez d'effectuer l'initialisation à l'intérieur du constructeur de classe.


0 commentaires

0
votes

Les initialisations à l'intérieur du constructeur:

public class ConsultasBD : IDisposable
{
    private SqlConnection conexionBD{get;set;};
    Configuration config = null; 
    string valEmp = String.Empty;
    private const string Empresa = "3";

    public ConsultasBD()
    {
        config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); 
        valEmp  = config.AppSettings.Settings["EMPRESA"];
        conexionBD = new SqlConnection(config.AppSettings["ggConnectionString"]);
    }
}


0 commentaires

0
votes

Comment puis-je accéder à cette variable dans l'app.config dans cette classe?

Vous avez eu raison dans la deuxième utilisation dans votre exemple.

Accédez à la valeur comme ceci: xxx


0 commentaires

0
votes

supposons que vous stockez votre chaîne de connexion juste là où il doit être stocké: xxx

alors vous pouvez y accéder comme ceci: xxx


0 commentaires