清清楚楚asp.net ( 八 ) : ADO.NET之Connection

來源:互聯網
上載者:User

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.