以前在asp.net1.1時代,資料庫連接字串都是寫在web.config檔案的appSettings這一小節下面的.具體的寫法如下:
<configuration>
<appSettings>
<add key="ConnString" value="Server=(local);Database=pubs;User Id=sa;Password=sa;"/>
</appSettings>
當然在appsetings段中不僅可以儲存資料庫連接字串,還可以儲存和程式有關的一些自訂的配置
資訊.在使用時要先using System.Configuration;然後string strConn=Configuration.AppSettings["ConnString"];即可.
到了asp.net2.0時代,不僅保留了appSettings段,還新增加了一個connectionStrings段,一般都把程式中用到的資料庫 連接字串放到該小節下,而其他的自訂配置資訊放到appSettings小節下.同時微軟不在推薦使用Configuration類,而是推薦使用 ConfigurationManager類.使用方法為,在connectionStrings小節下加入如下內容:
<add name="ConnString" connectionString="Server=(local);Database=pubs;User Id=sa;Password=sa;" providerName="System.Data.SqlClient"/>
在使用時,還是用先using System.Configuration;不過必須注意的是,必須在項目中添加引用,在彈出的對話方塊中找到System.Configuration,點添加,否則,還是無法使用ConfigurationManager類的.
做完了這部,就是怎麼得到資料庫連接字串了,這裡我們一般用以下方法得到連接字串.
string strConn=ConfigurationManager.ConnectionStrings["ConnString"].ToString();
當然,方括弧中也可以用從0開始的索引,不過需要注意的是,asp.net2.0中的web.config中的配置是從機器中的machine.config中繼承過來的,而在machine.config檔案預設會有一個指向SQL2005 Express的資料庫連接字串, 所以當你直接用ConfigurationManager.ConnectionStrings[0].ToString();時得到的並不是你寫在 web.config中的資料庫連接字串,而是那個指向SQL2005 Express的資料庫連接字串.我就在這個地方卡了好一陣子,後來利用斷點調試,才發現這個問題,所以最好還是直接用連接字串的名字比較好,不會出 問題.