2011-12-12 16 views
17

Non riesco a essere in grado di accedere alla stringa di connessione del database app.config nella mia app C# winforms.Accesso alla stringa di connessione al database utilizzando app.config in Win # C#

codice app.config

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

codice C#:

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

Quando provo il codice C#, ottengo un messaggio:
Attenzione 1 'System.Configuration.ConfigurationSettings.AppSettings 'è obsoleto:' Questo metodo è obsoleto, è stato sostituito da System.Configuration! System.Configuration.ConfigurationManager.AppSettings '

Tuttavia, quando cerco di usare:

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

ottengo un errore: Solo assegnazione, chiamata, incremento, decremento, e nuove espressioni oggetto può essere usato come una dichiarazione

risposta

25

Questo è tutto ciò che serve:

System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString; 
7

Usa ConfigurationManager anziché ConfigurationSettings. Ha una proprietà ConnectionStrings che si dovrebbe usare per le stringhe di connessione nella sezione connectionStrings:

ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString; 
5

Si utilizza la raccolta ConnectionStrings, non le AppSettings.

ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString; 
4

provare questo

ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString; 
4
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SQLConnection"].ToString())) 
{ 
....(your code here) ... 
} 
4
<?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; 
     } 
2
SqlConnection conn = new SqlConnection(); 
conn.ConnectionString = ConfigurationManager 
    .ConnectionStrings["MyDBConnectionString"].ConnectionString; 
try 
{ 
    conn.Open();     
} 
catch (Exception) 
{ 
    throw;      
} 
Problemi correlati