ASP.NET1.1和ASP.NET2.0:數(shù)據(jù)庫(kù)連接字符串的不同設(shè)置
以前在asp.net1.1時(shí)代,數(shù)據(jù)庫(kù)連接字符串都是寫在web.config文件的appSettings這一小節(jié)下面的.具體的寫法如下:
- < configuration>
- < appSettings>
- < add key="ConnString" value="Server=(local);Database=pubs;User Id=sa;Password=sa;"/>
- < /appSettings>
當(dāng)然在appsetings段中不僅可以存儲(chǔ)數(shù)據(jù)庫(kù)連接字符串,還可以存儲(chǔ)和程序有關(guān)的一些自定義的配置
信息.在使用時(shí)要先using System.Configuration;然后string strConn=Configuration.AppSettings["ConnString"];即可.
從ASP.NET1.1時(shí)代到了asp.net2.0時(shí)代,不僅保留了appSettings段,還新增加了一個(gè)connectionStrings段,一般都把程序中用到的數(shù)據(jù)庫(kù) 連接字符串放到該小節(jié)下,而其他的自定義配置信息放到appSettings小節(jié)下.同時(shí)微軟不在推薦使用Configuration類,而是推薦使用 ConfigurationManager類.使用方法為,在connectionStrings小節(jié)下加入如下內(nèi)容:
- < add name="ConnString" connectionString="Server=(local);Database=pubs;User Id=sa;Password=sa;" providerName="System.Data.SqlClient"/>
在使用時(shí),還是用先using System.Configuration;不過(guò)必須注意的是,必須在項(xiàng)目中添加引用,在彈出的對(duì)話框中找到System.Configuration,點(diǎn)添加,否則,還是無(wú)法使用ConfigurationManager類的.
做完了這部,就是怎么得到數(shù)據(jù)庫(kù)連接字符串了,這里我們一般用以下方法得到連接字符串.
string strConn=ConfigurationManager.ConnectionStrings["ConnString"].ToString();
當(dāng)然,方括號(hào)中也可以用從0開始的索引,不過(guò)需要注意的是,asp.net2.0中的web.config中的配置是從機(jī)器中的machine.config中繼承過(guò)來(lái)的,而在machine.config文件默認(rèn)會(huì)有一個(gè)指向SQL2005 Express的數(shù)據(jù)庫(kù)連接字符串, 所以當(dāng)你直接用ConfigurationManager.ConnectionStrings[0].ToString();時(shí)得到的并不是你寫在 web.config中的數(shù)據(jù)庫(kù)連接字符串,而是那個(gè)指向SQL2005 Express的數(shù)據(jù)庫(kù)連接字符串.我就在這個(gè)地方卡了好一陣子,后來(lái)利用斷點(diǎn)調(diào)試,才發(fā)現(xiàn)這個(gè)問(wèn)題,所以***還是直接用連接字符串的名字比較好,不會(huì)出問(wèn)題.
以上就是asp.net1.1和asp.net2.0中數(shù)據(jù)庫(kù)連接字符串的不同設(shè)置。
【編輯推薦】