web-dev-qa-db-fra.com

Accès à la chaîne de connexion à la base de données à l'aide de app.config dans C # Winform

Il semble impossible d'accéder à la chaîne de connexion à la base de données app.config dans mon application c # winforms. 

code app.config

   <connectionStrings>
      <add name="MyDBConnectionString" providerName="System.Data.SqlClient"
            connectionString="Data Source=localhost;Initial Catalog=MySQLServerDB; Integrated Security=true" />
   </connectionStrings>  

Code C #: 

SqlConnection conn = new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["MyDBConnectionString"];    

Lorsque j'essaie le code C #, je reçois un message:
Avertissement 1 'System.Configuration.ConfigurationSettings.AppSettings' est obsolète: ' Cette méthode est obsolète, elle est remplacée par System.Configuration! System.Configuration.ConfigurationManager.AppSettings'

Cependant, lorsque j'essaie d'utiliser: 

conn.ConnectionString = System.Configuration!System.Configuration.ConfigurationManager.AppSettings["MyDBConnectionString"];  

Je reçois une erreur: Seules les expressions d’affectation, d’appel, d’incrémentation, de décrémentation et de nouvel objet peuvent être utilisées comme instruction

18
Troy

C'est tout ce dont vous avez besoin:

System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
27
CSharpened

Utilisez ConfigurationManager au lieu de ConfigurationSettings. Il possède une propriété ConnectionStrings que vous devriez utiliser pour les chaînes de connexion dans la section connectionStrings:

ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
8
Oded

Vous utilisez la collection ConnectionStrings, pas les AppSettings.

ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString;
6
Mark Sherretta
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings>

<add key="ConnectionString" value="Data Source=MY-PC;Initial Catalog=DB2013;User ID=sa;Password=MYSQL123" />

</appSettings>

</configuration>
using System.Configuration;
using System.Data.SqlClient;

namespace OnlineDelete_W2013
{
public partial class CommodityEdit : Form
{
   SqlConnection MyConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);

    public CommodityEdit()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
           MyConnection.Open();
        }
        catch (Exception)
        {

            throw;
        }
4
Anurag

essaye ça

 ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString; 
4
Enigma State
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SQLConnection"].ToString()))
{
....(your code here) ...
}
4
Alex Muni
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager
    .ConnectionStrings["MyDBConnectionString"].ConnectionString;
try
{
    conn.Open();                
}
catch (Exception)
{
    throw;                    
}
2
user2309554

Les réponses indiquant d'utiliser la ligne 

ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;

sont corrects.

Si une erreur apparaît indiquant que ConfigurationManager n'existe pas, c'est que votre projet n'a pas référencé System.Configuration .

Pour ce faire dans .NET Framework, dans Explorateur de solutions , dans le projet où vous voulez utiliser cette ligne de code, cliquez avec le bouton droit de la souris sur Références , choisissez Ajouter une référence ... , puis choisissez Assemblies sur le côté gauche et Cadre sous celui-ci. Choisissez System.Configuration dans la liste et cliquez sur Ok .

1
Edu

À propos de ça: 

Je reçois une erreur: seules les expressions d'affectation, d'appel, d'incrémentation, de décrémentation et de nouvel objet peuvent être utilisées comme instruction

Je viens de déclarer un var comme ceci et de résoudre le problème:

var strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;