程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> .net數據庫連接緩沖池對簡化開發的影響

.net數據庫連接緩沖池對簡化開發的影響

編輯:.NET實例教程
 這次做西廂情緣這個網站,是一個純粹的.net 2.0開發,.Net 2.0自帶的數據庫連接緩沖池機制能夠對傳統ASP開發方式帶為很大的改變。

  在傳統的數據庫應用開發過程中,每每一段應用,往往是先打開數據庫連接,然後下面的代碼一直使用這個連接進行數據庫交互,但是.Net的數據庫連接池緩沖卻可以分別把每一段應用包裝起來,在編寫這些小塊包的時候,不再顧及非要去使用原來打開的連接,而直接從連接池中申請,使用完畢以後歸還,由於把大段的代碼分散到幾個相對較小的模塊中去,化整為零可以為我們簡化整個代碼的復雜度,從而提高開發效率。

  在.Net 2.0中如果你用的數據庫連接字符串每次都是一樣的,系統會自動啟用連接池的,這種自動啟動連接池的方案可以把傳統的重復打開數據庫連接的開銷降到最低。這樣,我們就可以把精力放在解決實際應用邏輯上面了。

而在很多代碼中,常常有需要通過運行一個SQL獲取一個統計值,或是英文或數字到漢字的轉義過程,並不需要太多的數據庫操作,利用數據庫連接池的緩沖特性,我們寫這樣的封裝函數來解決問題的時候就不用擔心性能的因素,直接感受代碼精簡帶來的編程樂趣!如以下示例代碼返回一種人群在總人數的百分比:

        string strsql = string.Format("select count(*) from finaltest where {0}={1}", strKey, nScore);
        X = DBFunc.GetValueBySql(strsql);
        if(X==0)return 0;
        string strsql = "select count(*) from finaltest ";
        Y = DBFunc.GetValueBySql(strsql);
        return X*100/Y;

附DBFunc(數據庫封裝類)的一個靜態函數!

class DBFunc{

    public static int GetValueBySql(string strsql)
    {
        SqlConnection _connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["lovesiteconn"].ConnectionString);
        _connection.Open();
        SqlCommand cmd = new SqlCommand(strsql, _connection);
        SqlDataReader reader = cmd.ExecuteReader();
        int nRet = 0;
        if (reader.Read()) {
            nRet = CommFunc.ParseInt(reader[0].ToString());
        }
        reader.Close();
        _connection.Close();
        _connection = null;
        return nRet;
    }

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved