如何通过C#从App.config文件中读取连接字符串

co2*_*f2e 5 .net c# c#-4.0

我正在使用此代码从我的app.config文件中读取连接字符串,但它始终返回空值.我的App.config文件在我的项目下.两种方法都产生空值:

public SqlConnection getConnection()
{
    try
    {
        // connectionString = ConfigurationManager.AppSettings["dbConn"];

        connectionString = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString;
        connectionString = System.Configuration.ConfigurationManager.AppSettings["dbConn"];
        sqlConnection = new SqlConnection(connectionString);  

        sqlConnection = new SqlConnection(connectionString);
    }
    catch (Exception ex)
    {

    }
    return sqlConnection;
}
Run Code Online (Sandbox Code Playgroud)

这是我的app.config文件声明:

<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
  <connectionStrings>
    <add name="dbConn" providerName="System.Data.SqlClient"
          connectionString="Data Source=VANYA\SQLEXPRESS;Initial Catalog=mydatabase;User  Id=sa;Password=123" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 5

我认为你试图读取连接字符串两次的问题,首先你做对了,第二次做错了,所以只需删除第二行:

connectionString = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString;
sqlConnection = new SqlConnection(connectionString); 
Run Code Online (Sandbox Code Playgroud)

ConfigurationManager.AppSettings用于访问<appSettings>...</appSettings>配置的部分.


Pra*_*enu 4

你可以尝试一下吗

<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
  <connectionStrings>
    <add name="dbConn" providerName="System.Data.SqlClient"
          connectionString="Data Source=VANYA\SQLEXPRESS;Initial Catalog=mydatabase;User  Id=sa;Password=123" />
  </connectionStrings>
  <appSettings>
    <add key="dbConn"  value="Data Source=VANYA\SQLEXPRESS;Initial Catalog=mydatabase;User  Id=sa;Password=123" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后使用第二种方法。

确保在解决方案资源管理器中选择 App.Config 文件,并在属性窗口中选择Copy to Output Directoryto Copy Always。现在构建应用程序并重试。

看截图