2011-11-18 258 views
0

我已经有一个连接字符串在我的配置文件SQL Server连接字符串

<connectionStrings> 
    <add 
     name="ConnectionString" 
     connectionString="Data Source=*;Initial Catalog=*;User ID=*;Password=*" 
     providerName=".NET Framework Data Provider for SQL Server" /> 

目前,我只是增加一个连接字符串在我的cs文件:

SqlConnection myConnection = 
    new SqlConnection("user id=*;password=*;server=localhost;"); 

我想使用配置文件字符串连接到.cs文件中的数据库,而不添加另一个字符串。我怎样才能做到这一点?

using (SqlConnection cn = 
    new SqlConnection(
     ConfigurationManager.ConnectionStrings["MyDbConn"].ToString())) 

这是我找到的代码,有没有更简单的方法?

+1

没有,没有办法短,除非你包的连接字符串的检索的只读属性在一个单独的静态类或东西,给你'MyConnectionStrings.ConnectionString;'或不管你打算如何命名。 –

回答

2

不是真的,但你可以在自己的小助手功能,把它包:

private static string GetConnectionString(string name) 
{ 
    return WebConfigurationManager.ConnectionStrings[name].ConnectionString; 
} 

using (var cn = new SqlConnection(GetConnectionString("MyDbConn"))) { ... } 
+0

谢谢:) 连接并运行 –

4

使用的System.Web.Configuration.WebConfigurationManagerConnectionStrings属性来获取配置文件中的连接字符串

+0

@Bhrugesh Patel:如果你只有一个连接字符串,然后使用 'WebConfigurationManager.ConnectionStrings [0] .ConnectionString' –

+0

我其实是两个..一个是本地主机,另一个是实际的MS SQL服务器..但我会删除本地主机,一旦我完成测试 –

+0

然后,只需使用**名称**,而不是**索引**,您在接受的安装程序中找到:-) –

0

您可以创建一个静态辅助类,命名配置或类似的东西,并给它一个属性ConnectionString的,这将返回长“WebConfigurationManager.ConnectionStrings [ “MyDbConn”]。ConnectionString“的东西。这是我通常在我的项目中使用的方法,它实际上非常易于使用。

public static class Config 
{ 
    public static string ConnectionString 
    { 
     get 
     { 
     return WebConfigurationManager.ConnectionStrings["MyDbConn"].ConnectionString; 
     } 
    } 
} 

这种方法是最有用的,当更多的类需要acccess连接字符串,并通过这种方式,你必须把它集中访问和容易改变的解决方案。