将ConnectionString移动到App.config

本文关键字:App config 移动 ConnectionString | 更新日期: 2023-09-27 18:29:56

在我的WPF应用程序中,我想连接到数据库。

如果我使用以下代码,它就可以正常工作:

string connectionString = @"Data Source=SERVER'ENGINE;Initial Catalog=MyDb;User ID=sa;Password=123456;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

现在,我将ConnectionString移到了我的App.config,并希望从那里使用以下代码:

string connectionString = ConfigurationManager.ConnectionStrings[0].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

现在我得到一个SqlExecption:

"System.Data.SqlClient.SqlException"类型的未处理异常发生在System.Data.dll 中

发生与网络相关或特定于实例的错误建立与SQL Server的连接。找不到服务器或无法访问。验证实例名称是否正确,以及SQL Server已配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位服务器/实例时出错指定)

App.config看起来像:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <connectionStrings >
    <add connectionString="Data Source=SERVER'ENGINE;Initial Catalog=MyDb;User ID=sa;Password=123456;" name="connection"/>
  </connectionStrings>
</configuration>

为什么这不起作用?

将ConnectionString移动到App.config

试试这个:-(首选名称而不是索引)

ConfigurationManager.ConnectionStrings["connection"].ConnectionString;

你可以阅读我们为什么要在这里。

您总是可以通过名称参数获取连接字符串:

ConfigurationManager.ConnectionStrings["connection"].ConnectionString;

来源:http://msdn.microsoft.com/pt-br/library/ms178411(v=vs.100).aspx?cs save lang=1&cs lang=csharp#code-snippet-1