2011-12-12 12 views
17

Parece que no puedo acceder a la cadena de conexión de la base de datos app.config en mi aplicación C# winforms.Accediendo a la cadena de conexión de la base de datos usando app.config en C# winform

código app.config

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

código C#:

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

Cuando intento el código C#, aparece un mensaje:
Advertencia 1 'System.Configuration.ConfigurationSettings.AppSettings 'es obsoleto:' Este método está obsoleto, ha sido reemplazado por System.Configuration! System.Configuration.ConfigurationManager.AppSettings '

Sin embargo, cuando trato de usar:

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

Me aparece un error: Sólo asignación, llamada, incremento, decremento, y nuevas expresiones de objetos pueden ser utilizados como una declaración

Respuesta

25

Esto es todo lo que necesita:

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

Uso ConfigurationManager en lugar de ConfigurationSettings. Tiene una propiedad ConnectionStrings que se debe utilizar para las cadenas de conexión en la sección connectionStrings:

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

Está utilizando la colección ConnectionStrings, no AppSettings.

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

probar esto

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;      
} 
Cuestiones relacionadas