Connection類用於和要互動的資料來源建立串連。
一.連接字串
每一個串連都應包含以下幾個要素:伺服器的位置,資料庫名稱,驗證方式,資料庫提供者
例如下面一個Sql Server連接字串。
1 String connStr = "Data Source=localhost;Initial Catalog=MyDemo;user id=sa;password=sqlserver2008";
你可以按照如下方式將連接字串定義在web.config中
1 <connectionStrings>
2 <add name="MyDemo" connectionString="Data Source=localhost;Initial Catalog=MyDemo;user id=sa;password=sqlserver2008"/>
3 </connectionStrings>
然後在代碼中取出
1 string connString = ConfigurationManager.ConnectionStrings["mydemo"].ConnectionString;
二.Connection類的狀態
可以同Connection對象的State屬性擷取Connection對象的狀態。
例(以Sql Server資料提供者為例。):
1 <asp:label ID="lblInfo" runat="server" text=""></asp:label>
C#
1 protected void TestConnection1()
2 {
3 string connString = ConfigurationManager.ConnectionStrings["mydemo"].ConnectionString;
4 SqlConnection con = new SqlConnection(connString);
5 using (con)
6 {
7 con.Open();
8 this.lblInfo.Text = "<b>Server Vision :</b> " + con.ServerVersion;
9 this.lblInfo.Text += "<br/><b>Connection is :</b>" + con.State.ToString();
10 }
11 this.lblInfo.Text += "<br/><b>Now Connection Is :</b>" + con.State.ToString();
12 }
三.Connection類的串連資料統計
考慮到效能因素,串連統計預設情況下是關閉的。只有SqlConnection.StatisticEnabled屬性為真是才啟動統計。
調用RetrieveStatistics()擷取統計資訊。統計的結果通過一個鬆散的名稱/值的集合提供。
調用ResetStatistics()清空統計統計結果來重新開始。
例:
1 <asp:label ID="lblStatistics" runat="server" text=""></asp:label>
C#
1 protected void TestConnection()
2 {
3 string connString = ConfigurationManager.ConnectionStrings["mydemo"].ConnectionString;
4 SqlConnection con = new SqlConnection(connString);
5 con.StatisticsEnabled = true;
6
7 try
8 {
9 con.Open();
10 this.lblInfo.Text = "<b>Server Vision :</b> " + con.ServerVersion;
11 this.lblInfo.Text += "<br/><b>Connection is :</b>" + con.State.ToString();
12 }
13 catch (Exception err)
14 {
15 this.lblInfo.Text = "Error reading the database." + err.Message;
16 }
17 finally
18 {
19 con.Close();
20 this.lblInfo.Text += "<br/><b>Now Connection Is :</b>" + con.State.ToString();
21
22 IDictionary statistics = con.RetrieveStatistics();
23 //從伺服器獲得的總位元組數
24 lblStatistics.Text += "<br/><b>BytesReceived:</b>" + statistics["BytesReceived"].ToString();
25 //請求串連的次數
26 lblStatistics.Text += "<br/><b>ServerRoundtrips:</b>" + statistics["ServerRoundtrips"].ToString();
27 //連線時間
28 lblStatistics.Text += "<br/><b>ConnectionTime:</b>" + statistics["ConnectionTime"].ToString();
29 //執行的查詢次數
30 lblStatistics.Text += "<br/><b>SumResultSets:</b>" + statistics["SumResultSets"].ToString();
31 //所有查詢影響的行數
32 lblStatistics.Text += "<br/><b>SelectRows:</b>" + statistics["SelectRows"].ToString();
33 }
34 }
清清楚楚asp.net系列學習部落格目錄
參考資料:Pro ASP.NET 3.5 in C# 2008