2012-10-19 81 views
0

c#和app.config文件中的以下兩行代碼是否有區別?app.config的連接字符串和c#連接字符串之間的區別是什麼

C#連接字符串聲明。

string conn = "/server = test/ DB = test_dev/ env = dev" 

的app.config declartion

<connectionStrings> 
    <add name="Test" connectionString="Data Source=.;Initial Catalog=test_dev;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

我怎樣才能宣佈C#連接字符串中的app.config文件格式,這樣我可以從app.config文件閱讀。

+0

從app.config中使用'System.Configuration.ConfigurationManager.ConnectionStrings [「測試」]讀取訪問連接字符串定義;' –

回答

1

硬編碼連接字符串和從app.config文件中拉出一個字符串沒有實際區別。

使用app.config的優點是,您可以在應用程序的多個位置使用相同的連接字符串,然後如果需要更改它(用於測試目的或其他任何事情),則只需更改它在一個很好地包含在配置文件中的位置。

正如評論所說,直接從您的app.config讀一個連接字符串,您可以使用此:

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Test"]; 

雖然有很多不同的方式來訪問連接字符串(數據集等。 )

+0

值得關注的是,你可以還可以在應用程序配置中定義多個連接字符串,並在您的應用程序中通過名稱引用它們,例如:「ProjectDB」,「LoggingDB」 –

+0

非常感謝您的快速回復。 – Lakhae

0

要讀取連接字符串值在C#代碼,您可以訪問System.Configuration.ConnectionStringSettingsCollection

System.Configuration.ConfigurationManager.ConnectionStrings 

將返回所有連接字符串的集合在<connectionStrings></connectionStrings>部分

您可以按名稱使用

string conn = 
    System.Configuration.ConfigurationManager.ConnectionStrings["Test"];