SqlConnection類(lèi)的對(duì)象連接SQL Server數(shù)據(jù)庫(kù);OracleConnection 類(lèi)的對(duì)象連接Oracle數(shù)據(jù)庫(kù);

  OleDbConnection類(lèi)的對(duì)象連 " /> 亚洲成人中文,2015xxxx欧美,18勿进色禁网站永久免费

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解

Connection類(lèi)有四種:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。

  SqlConnection類(lèi)的對(duì)象連接SQL Server數(shù)據(jù)庫(kù);OracleConnection 類(lèi)的對(duì)象連接Oracle數(shù)據(jù)庫(kù);

  OleDbConnection類(lèi)的對(duì)象連接支持OLE DB的數(shù)據(jù)庫(kù),如Access;而OdbcConnection類(lèi)的對(duì)象連接任何支持ODBC的數(shù)據(jù)庫(kù)。與數(shù)據(jù)庫(kù)的所有通訊最終都是通過(guò)Connection對(duì)象來(lái)完成的。

  SqlConnection類(lèi)

  Connection 用于與數(shù)據(jù)庫(kù)“對(duì)話”,并由特定提供程序的類(lèi)(如 SqlConnection)表示。盡管SqlConnection類(lèi)是針對(duì)Sql Server的,但是這個(gè)類(lèi)的許多屬性、方法與事件和OleDbConnection及OdbcConnection等類(lèi)相似。本章將重點(diǎn)講解 SqlConnection特定的屬性與方法,其他的Connection類(lèi)你可以參考相應(yīng)的幫助文檔。

  注意:使用不同的 Connection對(duì)象需要導(dǎo)入不同的命名空間。OleDbConnection的命名空間為System.Data.OleDb。 SqlConnection的命名空間為System.Data.SqlClient。OdbcConnection的命名空間為 System.Data.Odbc。OracleConnection的命名空間為System.Data.OracleCliNET

  SqlConnection屬性:

屬性說(shuō)明
ConnectionString其返回類(lèi)型為string,獲取或設(shè)置用于打開(kāi) SQL Server 數(shù)據(jù)庫(kù)的字符串。
ConnectionTimeOut 其返回類(lèi)型為int,獲取在嘗試建立連接時(shí)終止嘗試并生成錯(cuò)誤之前所等待的時(shí)間。
Database其返回類(lèi)型為string,獲取當(dāng)前數(shù)據(jù)庫(kù)或連接打開(kāi)后要使用的數(shù)據(jù)庫(kù)的名稱(chēng)。
DataSource其返回類(lèi)型為string,獲取要連接的 SQL Server 實(shí)例的名稱(chēng)。
State其返回類(lèi)型為ConnectionState,取得當(dāng)前的連接狀態(tài):Broken、Closed、Connecting、Fetching或Open。
ServerVersion其返回類(lèi)型為string,獲取包含客戶(hù)端連接的 SQL Server 實(shí)例的版本的字符串。
PacketSize獲取用來(lái)與 SQL Server 的實(shí)例通信的網(wǎng)絡(luò) 數(shù)據(jù)包的大小(以字節(jié)為單位)。這個(gè)屬性只適用于SqlConnection類(lèi)型


  SqlConnection方法:

方法說(shuō)明
Close()其返回類(lèi)型為void,關(guān)閉與數(shù)據(jù)庫(kù)的連接。
CreateCommand() 其返回類(lèi)型為SqlCommand,創(chuàng)建并返回一個(gè)與 SqlConnection 關(guān)聯(lián)的 SqlCommand 對(duì)象。
Open() 其返回類(lèi)型為void,用連接字符串屬性指定的屬性打開(kāi)數(shù)據(jù)庫(kù)連接


  SqlConnection事件:

事件說(shuō)明
StateChange 當(dāng)事件狀態(tài)更改時(shí)發(fā)生。 (從 DbConnection 繼承。)
InfoMessage 當(dāng) SQL Server 返回一個(gè)警告或信息性消息時(shí)發(fā)生。


  提示:可以用事件讓一個(gè)對(duì)象以某種方式通知另一對(duì)象產(chǎn)生某些事情。例如我們?cè)?span id="srccaef2p0j" class=bluekey>Windows 系統(tǒng)中選擇“開(kāi)始”菜單,一旦單擊鼠標(biāo) 時(shí),就發(fā)生了一個(gè)事件,通知操作系統(tǒng) 將“開(kāi)始”菜單顯示出來(lái)。

  使用SqlConnection對(duì)象連接SQL Server數(shù)據(jù)庫(kù)

  我們可以用SqlConnection()構(gòu)造函數(shù)生成一個(gè)新的SqlConnection對(duì)象。這個(gè)函數(shù)是重載的,即我們可以調(diào)用構(gòu)造函數(shù)的不同版本。SqlConnection()的構(gòu)造函數(shù)如下表所示:

構(gòu)造函數(shù)說(shuō)明
SqlConnection () 初始化 SqlConnection 類(lèi)的新實(shí)例。
SqlConnection (String)如果給定包含連接字符串的字符串,則初始化 SqlConnection 類(lèi)的新實(shí)例。


  假設(shè)我們導(dǎo)入了System.Data.SqlClient命名空間,則可以用下列語(yǔ)句生成新的SqlConnection對(duì)象:

SqlConnection mySqlConnection = new SqlConnection();


  程序代碼說(shuō)明:在上述語(yǔ)法范例的程序代碼中,我們通過(guò)使用“new“關(guān)鍵字生成了一個(gè)新的SqlConnection對(duì)象,并且將其命名為mySqlConnection。

  現(xiàn)在我們就可以使用如下兩種方式連接數(shù)據(jù)庫(kù),即采用集成的Windows驗(yàn)證和使用Sql Server身份驗(yàn)證進(jìn)行數(shù)據(jù)庫(kù)的登錄。

  集成的Windows身份驗(yàn)證語(yǔ)法范例

string connectionString="server=localhost;database=Northwind;
integrated security=SSPI";


  程序代碼說(shuō)明:在上述語(yǔ)法范例的程序代碼中,我們?cè)O(shè)置了一個(gè)針對(duì)Sql Server數(shù)據(jù)庫(kù)的連接字符串。其中server表示運(yùn)行Sql Server的計(jì)算機(jī) 名,由于在本書(shū)中,ASP.NET程序和數(shù)據(jù)庫(kù)系統(tǒng)是位于同一臺(tái)計(jì)算機(jī)的,所以我們可以用localhost取代當(dāng)前的計(jì)算機(jī)名。database表示所使用的數(shù)據(jù)庫(kù)名,這里設(shè)置為Sql Server自帶的一個(gè)示例數(shù)據(jù)庫(kù)--Northwind。由于我們希望采用集成的Windows驗(yàn)證方式,所以設(shè)置 integrated security為SSPI即可。

  Sql Server 2005中的Windows身份驗(yàn)證模式如下:

  注意:在使用集成的Windows驗(yàn)證方式時(shí),并不需要我們輸入用戶(hù)名和口令,而是把登錄Windows時(shí)輸入的用戶(hù)名和口令傳遞到Sql Server。然后Sql Server檢查用戶(hù)清單,檢查其是否具有訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限。而且數(shù)據(jù)庫(kù)連接字符串是不區(qū)分大小寫(xiě)的。

  采用Sql Server身份驗(yàn)證的語(yǔ)法范例

string connectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";


  程序代碼說(shuō)明:在上述語(yǔ)法范例的程序代碼中,采用了使用已知的用戶(hù)名和密碼驗(yàn)證進(jìn)行數(shù)據(jù)庫(kù)的登錄。uid為指定的數(shù)據(jù)庫(kù)用戶(hù)名,pwd為指定的用戶(hù)口令。為了安全起見(jiàn),一般不要在代碼中包括用戶(hù)名和口令,你可以采用前面的集成的Windows驗(yàn)證方式或者對(duì)Web .Config文件中的連接字符串加密的方式提高程序的安全性。

  Sql Server 2005中的Sql Server身份驗(yàn)證模式如下:

  如果你使用其他的數(shù)據(jù)提供者的話,所產(chǎn)生的連接字符串也具有相類(lèi)似的形式。例如我們希望以O(shè)LE DB的方式連接到一個(gè)Oracle數(shù)據(jù)庫(kù),其連接字符串如下:

string connectionString = "data source=localhost;initial catalog=Sales;
use id=sa;password=;provider=MSDAORA";


  程序代碼說(shuō)明:在上述語(yǔ)法范例的程序代碼中,通過(guò)專(zhuān)門(mén)針對(duì)Oracle數(shù)據(jù)庫(kù)的OLE DB提供程序,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。data source 表示運(yùn)行Oracle數(shù)據(jù)庫(kù)的計(jì)算機(jī)名,initial catalog表示所使用的數(shù)據(jù)庫(kù)名。provider表示使用的OLE DB提供程序?yàn)镸SDAORA。

  Access數(shù)據(jù)庫(kù)的連接字符串的形式如下:

string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;
@”data source=c:/DataSource/Northwind.mdb”;


  程序代碼說(shuō)明:在上述語(yǔ)法范例的程序代碼中,通過(guò)專(zhuān)門(mén)針對(duì)Access數(shù)據(jù)庫(kù)的OLE DB提供程序,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。這使用的的OLE DB提供程序?yàn)镸icrosoft.Jet.OLEDB.4.0,并且數(shù)據(jù)庫(kù)存放在c:/DataSource目錄下,其數(shù)據(jù)庫(kù)文件為 Northwind.mdb。

  現(xiàn)在我們就可以將數(shù)據(jù)庫(kù)連接字符串傳人SqlConnection()構(gòu)造函數(shù),例如:

string connectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";
SqlConnection mySqlConnection = new SqlConnection(connectionString);


  或者寫(xiě)成

SqlConnection mySqlConnection =new SqlConnection(
"server=localhost;database=Northwind;uid=sa;pwd=sa");


  在前面的范例中,通過(guò)使用“new“關(guān)鍵字生成了一個(gè)新的SqlConnection對(duì)象。因此我們也可以設(shè)置該對(duì)象的 ConnectionString屬性,為其指定一個(gè)數(shù)據(jù)庫(kù)連接字符串。這和將數(shù)據(jù)庫(kù)連接字符串傳人SqlConnection()構(gòu)造函數(shù)的功能是一樣的。

SqlConnection mySqlConnection = new SqlConnection();
mySqlConnection.ConnectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";


  注意:只能在關(guān)閉Connection對(duì)象時(shí)設(shè)置ConnectionString屬性。

  打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)連接

  生成Connection對(duì)象并將其設(shè)置ConnectionString屬性設(shè)置為數(shù)據(jù)庫(kù)連接的相應(yīng)細(xì)節(jié)之后,就可以打開(kāi)數(shù)據(jù)庫(kù)連接。為此可以調(diào)用Connection對(duì)象的Open()方法。其方法如下:

mySqlConnection.Open();


  完成數(shù)據(jù)庫(kù)的連接之后,我們可以調(diào)用Connection對(duì)象的Close()方法關(guān)閉數(shù)據(jù)庫(kù)連接。例如:

mySqlConnection.Close();


  下面是一個(gè)顯示如何用SqlConnection對(duì)象連接Sql Server Northwind數(shù)據(jù)庫(kù)的實(shí)例程序,并且顯示該SqlConnection對(duì)象的一些屬性。

  范例程序代碼如下:

01 public partial class _Default : System.Web.UI.Page
02 {
03 protected void Page_Load(object sender, EventArgs e)
04 {
05 //建立數(shù)據(jù)庫(kù)連接字符串
06 string connectionString = "server=localhost;database=Northwind;
07 integrated security=SSPI";
08 //將連接字符串傳入SqlConnection對(duì)象的構(gòu)造函數(shù)中
09 SqlConnection mySqlConnection = new SqlConnection(connectionString);
10 try
11 {
12 //打開(kāi)連接
13 mySqlConnection.Open();
14 //利用label控件顯示mySqlConnection對(duì)象的ConnectionString屬性
15 lblInfo.Text = "<b>mySqlConnection對(duì)象的ConnectionString屬性為:<b>" +
16 mySqlConnection.ConnectionString + "<br>";
17 lblInfo.Text += "<b>mySqlConnection對(duì)象的ConnectionTimeout屬性為<b>" +
18 mySqlConnection.ConnectionTimeout + "<br>";
19 lblInfo.Text += "<b>mySqlConnection對(duì)象的Database屬性為<b>" +
20 mySqlConnection.Database + "<br>";
21 lblInfo.Text += "<b>mySqlConnection對(duì)象的DataSource屬性為<b>" +
22 mySqlConnection.DataSource + "<br>";
23 lblInfo.Text += "<b>mySqlConnection對(duì)象的PacketSize屬性為<b>" +
24 mySqlConnection.PacketSize + "<br>";
25 lblInfo.Text += "<b>mySqlConnection對(duì)象的ServerVersion屬性為<b>" +
26 mySqlConnection.ServerVersion + "<br>";
27 lblInfo.Text += "<b>mySqlConnection對(duì)象的當(dāng)前狀態(tài)為<b>" +
28 mySqlConnection.State + "<br>";
29 }
30 catch (Exception err)
31 {
32 lblInfo.Text = "讀取數(shù)據(jù)庫(kù)出錯(cuò)";
33 lblInfo.Text += err.Message;
34 }
35 finally
36 {
37 //關(guān)閉與數(shù)據(jù)庫(kù)的連接
38 mySqlConnection.Close();
39 lblInfo.Text += "<br><b>關(guān)閉連接后的mySqlConnection對(duì)象的狀態(tài)為:</b>";
40 lblInfo.Text += mySqlConnection.State.ToString();
41 }
42 }
43 }


  程序代碼說(shuō)明:在上述范例的程序代碼中,我們利用try catch finally對(duì)數(shù)據(jù)庫(kù)連接進(jìn)行異常處理。當(dāng)無(wú)法連接數(shù)據(jù)庫(kù)時(shí)將拋出異常,并顯示出錯(cuò)信息,見(jiàn)catch代碼塊所示。在此程序中,無(wú)論是否發(fā)生異常,都可以通過(guò)finally區(qū)塊關(guān)閉數(shù)據(jù)庫(kù)的連接,從而節(jié)省計(jì)算機(jī)資源,提高了程序的效率和可擴(kuò)展性。

  執(zhí)行結(jié)果:

  當(dāng)然,我們還可以采用一種更加簡(jiǎn)便的方法來(lái)實(shí)現(xiàn)上述程序的功能。這就是將SqlConnection對(duì)象包含到using區(qū)塊中,這樣程序會(huì)自動(dòng)調(diào)用 Dispose()方法釋放SqlConnection對(duì)象所占用的系統(tǒng)資源,無(wú)需再使用SqlConnection對(duì)象的Close()方法。

  范例程序代碼如下:

01 public partial class _Default : System.Web.UI.Page
02 {
03 protected void Page_Load(object sender, EventArgs e)
04 {
05 string connectionString = "server=localhost;database=Northwind;
06 integrated security=SSPI";
07 SqlConnection mySqlConnection = new SqlConnection(connectionString);
08 using (mySqlConnection)
09 {
10 mySqlConnection.Open();
11 lblInfo.Text = "<b>mySqlConnection對(duì)象的ConnectionString屬性為:<b>" +
12 mySqlConnection.ConnectionString + "<br>";
13 lblInfo.Text += "<b>mySqlConnection對(duì)象的ConnectionTimeout屬性為<b>" +
14 mySqlConnection.ConnectionTimeout + "<br>";
15 lblInfo.Text += "<b>mySqlConnection對(duì)象的Database屬性為<b>" +
16 mySqlConnection.Database + "<br>";
17 lblInfo.Text += "<b>mySqlConnection對(duì)象的DataSource屬性為<b>" +
18 mySqlConnection.DataSource + "<br>";
19 lblInfo.Text += "<b>mySqlConnection對(duì)象的PacketSize屬性為<b>" +
20 mySqlConnection.PacketSize + "<br>";
21 lblInfo.Text += "<b>mySqlConnection對(duì)象的ServerVersion屬性為<b>" +
22 mySqlConnection.ServerVersion + "<br>";
23 lblInfo.Text += "<b>mySqlConnection對(duì)象的當(dāng)前狀態(tài)為<b>"+
24 mySqlConnection.State + "<br>";
25 }
26 lblInfo.Text += "<br><b>關(guān)閉連接后的mySqlConnection對(duì)象的狀態(tài)為:</b>";
27 lblInfo.Text += mySqlConnection.State.ToString();
28 }
29 }


  程序代碼說(shuō)明:在上述范例的程序代碼中,采用using(mySqlConnection)的形式使得代碼更加簡(jiǎn)潔,并且其最大的優(yōu)點(diǎn)就是無(wú)需編寫(xiě)finally區(qū)塊代碼,可以自動(dòng)關(guān)閉與數(shù)據(jù)庫(kù)的連接。

  連接池

  打開(kāi)與關(guān)閉數(shù)據(jù)庫(kù)都是比較耗時(shí)的。為此,ADO.NET自動(dòng)將數(shù)據(jù)庫(kù)連接存放在連接池中。連接池可以大幅度提高程序的性能和效率,因?yàn)槲覀儾槐氐却⑷碌臄?shù)據(jù)庫(kù)連接過(guò)程,而是直接利用現(xiàn)成的數(shù)據(jù)庫(kù)連接。注意,利用Close()方法關(guān)閉連接時(shí),并不是實(shí)際關(guān)閉連接,而是將連接標(biāo)為未用,放在連接池中,準(zhǔn)備下一次復(fù)用。

  如果在連接字符串中提供相同的細(xì)節(jié),即相同的數(shù)據(jù)庫(kù),用戶(hù)名,密碼等等,則可以直接取得并返回池中的連接。然后可以用這個(gè)連接訪問(wèn)數(shù)據(jù)庫(kù)。

  使用SqlConnection對(duì)象時(shí),可以在連接字符串中指定max pool size,表示連接池允許的最大連接數(shù)(默認(rèn)為100),也可以指定min pool size表示連接池允許的最小連接數(shù)(默認(rèn)為0)。下面的代碼指定了SqlConnection對(duì)象的max pool size為10,min pool size為5。

SqlConnection mySqlConnection = new SqlConnection("server=localhost;database=Northwind;
integrated security=SSPI;"+"max pool size=10;min pool size=5");


  程序代碼說(shuō)明:在上述范例的程序代碼中,程序最初在池中生成5個(gè)SqlConnection對(duì)象。池中可以存儲(chǔ) 最多10個(gè)SqlConnection對(duì)象。如果要打開(kāi)新的SqlConnection對(duì)象時(shí),池中的對(duì)象全部都在使用中,則請(qǐng)求要等待一個(gè) SqlConnection對(duì)象關(guān)閉,然后才可以使用新的SqlConnection對(duì)象。如果請(qǐng)求等待時(shí)間超過(guò)ConnectionTimeout屬性指定的秒數(shù),則會(huì)拋出異常。

  下面通過(guò)一個(gè)程序來(lái)顯示連接池的性能優(yōu)勢(shì)。在應(yīng)用此程序過(guò)程我們要先引用System.Data.SqlCliNET和System.Text命名空間。

  范例程序代碼如下:

01 public partial class _Default : System.Web.UI.Page
02 {
03 protected void Page_Load(object sender, EventArgs e)
04 {
05 //設(shè)置連接池的最大連接數(shù)為5,最小為1
06 SqlConnection mySqlConnection =new SqlConnection(
07 "server=localhost;database=Northwind;integrated security=SSPI;"+
08 "max pool size=5;min pool size=1");
09 //新建一個(gè)StringBuilder對(duì)象
10 StringBuilder htmStr = new StringBuilder("");
11 for (int count = 1; count <= 5; count++)
12 {
13 //使用Append()方法追加字符串到StringBuilder對(duì)象的結(jié)尾處
14 htmStr.Append("連接對(duì)象 "+count);
15 htmStr.Append("<br>");
16 //設(shè)置一個(gè)連接的開(kāi)始時(shí)間
17 DateTime start = DateTime.Now;
18 mySqlConnection.Open();
19 //連接所用的時(shí)間
20 TimeSpan timeTaken = DateTime.Now - start;
21 htmStr.Append("連接時(shí)間為 "+timeTaken.Milliseconds+"毫秒");
22 htmStr.Append("<br>");
23 htmStr.Append("mySqlConnection對(duì)象的狀態(tài)為" + mySqlConnection.State);
24 htmStr.Append("<br>");
25 mySqlConnection.Close();
26 }
27 //將StringBuilder對(duì)象的包含的字符串在label控件中顯示出來(lái)
28 lblInfo.Text = htmStr.ToString();
29 }
30 }


  程序代碼說(shuō)明:在上述范例的程序代碼中,我們將在連接池中重復(fù)5次打開(kāi)一個(gè)SqlConnection對(duì)象,DateTime.Now表示當(dāng)前的時(shí)間。 timeTaken表示從連接開(kāi)始到打開(kāi)連接所用的時(shí)間間隔。可以看出,打開(kāi)第一個(gè)連接的時(shí)間比打開(kāi)后續(xù)連接的時(shí)間要長(zhǎng),因?yàn)榈谝粋€(gè)連接要實(shí)際連接數(shù)據(jù)庫(kù)。被關(guān)閉之后,這個(gè)連接存放在連接池中。再次打開(kāi)連接時(shí),只要從池中直接讀取即可,速度非常快。

  提示:String 對(duì)象是不可改變的。每次使用 System.String 類(lèi)中的方法之一時(shí),都要在內(nèi)存中創(chuàng)建一個(gè)新的字符串對(duì)象,這就需要為該新對(duì)象分配新的空間。在需要對(duì)字符串執(zhí)行重復(fù)修改的情況下,與創(chuàng)建新的 String 對(duì)象相關(guān)的系統(tǒng)開(kāi)銷(xiāo)可能會(huì)非常昂貴。如果要修改字符串而不創(chuàng)建新的對(duì)象,則可以使用 System.Text.StringBuilder 類(lèi)。例如,當(dāng)在一個(gè)循環(huán)中將許多字符串連接在一起時(shí),使用 StringBuilder 類(lèi)可以提升性能。Append 方法可用來(lái)將文本或?qū)ο蟮淖址硎拘问教砑拥接僧?dāng)前 StringBuilder 對(duì)象表示的字符串的結(jié)尾處。

  執(zhí)行結(jié)果:

  ASP.NET 2.0中連接字符串的設(shè)置

  在ASP.NET 2.0中,使用了一種在運(yùn)行時(shí)解析為連接字符串值的新的聲明性表達(dá)式語(yǔ)法,按名稱(chēng)引用數(shù)據(jù)庫(kù)連接字符串。連接字符串本身存儲(chǔ)在 Web.config 文件中的 <connectionStrings> 配置節(jié)下面,以便易于在單個(gè)位置為應(yīng)用程序中的所有頁(yè)進(jìn)行維護(hù)。

  范例程序代碼如下:

<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="Pubs" connectionString="Server=localhost;
Integrated Security=True;Database=pubs;Persist Security Info=True"
providerName="System.Data.SqlClient" />
<add name="Northwind" connectionString="Server=localhost;
Integrated Security=True;Database=Northwind;Persist Security Info=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<pages styleSheetTheme="Default"/>
</system.web>
</configuration>


  程序代碼說(shuō)明:在上述范例的程序代碼中,我們?cè)赪eb.Config文件中的<connectionStrings>配置節(jié)點(diǎn)下面設(shè)置了兩個(gè)數(shù)據(jù)庫(kù)連接字符串,分別指向pubs和Northwind兩個(gè)示例數(shù)據(jù)庫(kù)。注意,在2.0中引進(jìn)了數(shù)據(jù)源控件,例如 SqlDataSource 控件,我們可以將SqlDataSource 控件的 ConnectionString 屬性被設(shè)置為表達(dá)式 <%$ ConnectionStrings:Pubs %>,該表達(dá)式在運(yùn)行時(shí)由 ASP.NET 分析器解析為連接字符串。還可以為SqlDataSource 的 ProviderName 屬性指定一個(gè)表達(dá)式,例如 <%$ ConnectionStrings:Pubs.ProviderName %>。其具體的用法和新特征將在以后的章節(jié)進(jìn)行詳細(xì)的介紹。現(xiàn)在有個(gè)基礎(chǔ)的了解即可。

  當(dāng)然,我們也可以用下面的方式從配置文件直接讀取數(shù)據(jù)庫(kù)連接字符串。首先我們需要引用using System.Web.Configuration命名空間,該命名空間包含用于設(shè)置 ASP.NET 配置的類(lèi)。

string connectionString =ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;


  程序代碼說(shuō)明:在上述范例的程序代碼中,我們可以利用ConnectionStrings["Northwind"]讀取相應(yīng)的Northwind字符串。同理以可以利用ConnectionStrings["Pubs"]讀取相應(yīng)的Pubs字符串。

AspNet技術(shù)ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费人成网站尤物在线观看 | 正在播放一区二区 | 欧美精品福利视频 | 欧美综合视频在线观看 | 高清一区二区三区免费 | 香蕉人人超人人超免费看视频 | 国产成人精品视频播放 | 欧美黑人巨大xxxxx视频 | 久久五月激情婷婷日韩 | 亚洲视频二区 | 青草精品视频 | 国产在线视频色综合 | 四虎精品免费永久在线 | 亚洲青草| 久99视频| 91麻豆精品国产片在线观看 | 看全色黄大色黄大片色黄看的 | 中文字幕精品视频在线 | 亚洲激情综合网 | 国产亚洲精品日韩香蕉网 | 欧美激情15p | www.色噜噜 | 国产一区二区三区高清 | 黑人和黑人激情一级毛片 | 欧美岛国大片 | 在线观看www日本免费网站 | 欧美亚洲国产精品 | 色视频在线观看网站 | 亚洲精品亚洲人成毛片不卡 | 91久久国产口精品久久久久 | 国产在线视频91 | 麻豆出品| 成人精品国产亚洲 | 国内精品欧美久久精品 | 欧洲一卡2卡三卡4卡免费观看 | youjizz日韩 | 日本一区免费看 | 男人扒开女人腿使劲桶动态图 | 四虎精品国产一区二区三区 | www日本黄色 | 九九99久久精品午夜剧场免费 |