2011-11-18 427 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連接字符串,並通過這種方式,你必須把它集中訪問和容易改變的解決方案。