在源代码文件中使用来自web.config的connectionstring

时间:2011-03-15 19:32:31

标签: c# asp.net

我知道这可能是一个非常基本的问题,但也许这就是为什么我找不到答案的问题。现在我通过这样的方式在我的源文件中创建数据库连接:

SqlConnection con = new SqlConnection("Data Source=...Password=...);
SqlCommand cmd = new SqlCommand(String.Format("SELECT * FROM Table;"), con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();

但这意味着如果我选择更改数据库,那将是一个很大的痛苦。你们知道如何使用web.config文件中的连接字符串吗?

谢谢!

6 个答案:

答案 0 :(得分:46)

SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringNameFromWebConfig"].ConnectionString);

确保您的网站引用了System.Configuration,否则无法使用。

文档可以How to: Read Connection Strings from the Web.config File找到,代码示例

答案 1 :(得分:7)

你可以尝试

var conString = System.Configuration.
                ConfigurationManager.ConnectionStrings["connectionStringName"];
string strConnString = conString.ConnectionString;
SqlConnection con = new SqlConnection(strConnString);

答案 2 :(得分:5)

在你的app.config(或web.config)中:

<configuration>
       <connectionStrings>
           <add name="MainConnectString" connectionString="yourConnectionString" providerName="providerName" />
       </connectionStrings>
</configuration>

在代码中:

string connectionString = ConfigurationManager.ConnectionStrings["MainConnectString"];

答案 3 :(得分:2)

以及StackOverflowException的响应,请确保将使用System.Configuration; 添加到您的代码页面

答案 4 :(得分:1)

您可以使用EnterpriseLibrary。

using Microsoft.Practices.EnterpriseLibrary.Data;

然后创建一个获取连接字符串的方法:

 public static string GetConnectionString()
    {
        Database YourData = DatabaseFactory.CreateDatabase("someconnectionname");
        return YourData .ConnectionString;
    }

在您的web.config中,您将拥有以下内容:

 <connectionStrings>   
   <add name="someconnectionname" connectionstring=..... />
 </connectionString>

答案 5 :(得分:0)

如果你得到“无法将类型'system.configuration.connectionstringsettings'隐式转换为'string'”,请执行:

string connectionString = ConfigurationManager.ConnectionStrings["MainConnectString"].ConnectionString;