ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面講述在VS2005中如何使用web.config配置文件,進行數據庫的連接操作,并啟用SQL Server數據庫的連接池,相信對于已經熟悉VS2003的、剛進入05的環境的朋友會有些幫助。
??? 首先,在05中,默認情況下,并沒有自動為應用程序生成web.config,當第一次運行應用程序的時候,會出現Debuging Not Enabled的提示,點擊OK按鈕,會為應用程序生成一個web.config配置文件。在<configuration>元素中,已經有了如下兩個節點元素:
?<appSettings/>
?<connectionStrings/>
03中,數據庫的連接配置是在<appSettings/>中通過add key=" connStr " value = " "來指定的;05中,"connectionStrings 元素為 ASP.NET 應用程序和 ASP.NET 功能指定數據庫連接字符串(名稱/值對的形式)的集合。在以前的 ASP.NET 版本中,連接字符串存儲在 appSettings 中。在 ASP.NET 2.0 中,如會話、成員資格、個性化設置和角色管理器等功能均依賴于存儲在 connectionStrings 元素中的連接字符串。您還可以使用 connectionStrings 元素來存儲您自己的應用程序的連接字符串。"——SDK。
可以將<connectionStrings/>用下面的代碼替換:
?<connectionStrings>
??? <add?
????? name="CONNSTRING"
????? connectionString="data source =localhost;uid =sa;pwd=;database=Book;pooling=true"/>? //注意:pooling也可以在后面通過代碼指定
? </connectionStrings> 應用程序中這樣讀取即可:
??? private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;
下面是測試的例子,當然基本的ADO.NET連接數據庫的知識要知道。
建立一個DbPooling.aspx,代碼如下: using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; public partial class DbPooling : System.Web.UI.Page
{
??? private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;
??? protected void Page_Load(object sender, EventArgs e)
??? {
??????? if (!Page.IsPostBack)
??????? {
??????????? ConnectionObject();
??????????? DataSet ds = null;
??????????? for (int i = 0; i < 1000; i++)
??????????? {
??????????????? ds = GetCustomers(true);??? //true——配置連接池
??????????? }
??????????? GridView1.DataSource = ds;????? //03中的DataGrid現在是GridView
??????????? GridView1.DataBind();
??????? }
??? }
??? private DataSet GetCustomers(bool nStartPooling)
??? {
??????? string connStr = SQLCONNECTIONSTRING + "Pooling=" + nStartPooling.ToString();?? //通過傳遞的bool指定是否配置連接池
??????? Label1.Text = connStr;
??????? SqlConnection conn = new SqlConnection(connStr);
??????? string cmdText = "SELECT Top 10 * FROM Book";
??????? SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);
??????? conn.Open();
??????? DataSet ds = new DataSet();
??????? da.Fill(ds);
??????? conn.Close();
??????? return ds;
??? } private void ConnectionObject()
??? {
??????? SqlConnection conn = new SqlConnection(SQLCONNECTIONSTRING);
??????? string cmdText = "SELECT Count(*) as BookCount FROM Book";
??????? SqlCommand comm = new SqlCommand(cmdText, conn);
??????? conn.Open(); int result = (int)comm.ExecuteScalar();
??????? Response.Write("Book表的記錄數為:" + result.ToString());
??????? Response.Write("<br>SQL Server數據庫的連接狀態為:" + conn.State.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的通信包的大小為:" + conn.PacketSize.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的數據庫為:" + conn.Database.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的工作站點:" + conn.WorkstationId.ToString());
??????? conn.Close();
??????? Response.Write("<br>SQL Server數據庫的連接狀態:" + conn.State.ToString()); }
}
????? 對于剛剛開始熟悉 VS2005 的朋友來說,很多細節的東西要與03區別,當然,查一下SDK很容易找到異同和解決方法,本文小例針對在05中初次配置web.config遇到的小麻煩做一總結,詳細的 configuration 操作可以參考SDK了,呵呵。
本文轉自 august 51CTO博客,原文鏈接:http://blog.51cto.com/august/6971,如需轉載請自行聯系原作者
??? 首先,在05中,默認情況下,并沒有自動為應用程序生成web.config,當第一次運行應用程序的時候,會出現Debuging Not Enabled的提示,點擊OK按鈕,會為應用程序生成一個web.config配置文件。在<configuration>元素中,已經有了如下兩個節點元素:
?<appSettings/>
?<connectionStrings/>
03中,數據庫的連接配置是在<appSettings/>中通過add key=" connStr " value = " "來指定的;05中,"connectionStrings 元素為 ASP.NET 應用程序和 ASP.NET 功能指定數據庫連接字符串(名稱/值對的形式)的集合。在以前的 ASP.NET 版本中,連接字符串存儲在 appSettings 中。在 ASP.NET 2.0 中,如會話、成員資格、個性化設置和角色管理器等功能均依賴于存儲在 connectionStrings 元素中的連接字符串。您還可以使用 connectionStrings 元素來存儲您自己的應用程序的連接字符串。"——SDK。
可以將<connectionStrings/>用下面的代碼替換:
?<connectionStrings>
??? <add?
????? name="CONNSTRING"
????? connectionString="data source =localhost;uid =sa;pwd=;database=Book;pooling=true"/>? //注意:pooling也可以在后面通過代碼指定
? </connectionStrings> 應用程序中這樣讀取即可:
??? private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;
下面是測試的例子,當然基本的ADO.NET連接數據庫的知識要知道。
建立一個DbPooling.aspx,代碼如下: using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; public partial class DbPooling : System.Web.UI.Page
{
??? private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;
??? protected void Page_Load(object sender, EventArgs e)
??? {
??????? if (!Page.IsPostBack)
??????? {
??????????? ConnectionObject();
??????????? DataSet ds = null;
??????????? for (int i = 0; i < 1000; i++)
??????????? {
??????????????? ds = GetCustomers(true);??? //true——配置連接池
??????????? }
??????????? GridView1.DataSource = ds;????? //03中的DataGrid現在是GridView
??????????? GridView1.DataBind();
??????? }
??? }
??? private DataSet GetCustomers(bool nStartPooling)
??? {
??????? string connStr = SQLCONNECTIONSTRING + "Pooling=" + nStartPooling.ToString();?? //通過傳遞的bool指定是否配置連接池
??????? Label1.Text = connStr;
??????? SqlConnection conn = new SqlConnection(connStr);
??????? string cmdText = "SELECT Top 10 * FROM Book";
??????? SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);
??????? conn.Open();
??????? DataSet ds = new DataSet();
??????? da.Fill(ds);
??????? conn.Close();
??????? return ds;
??? } private void ConnectionObject()
??? {
??????? SqlConnection conn = new SqlConnection(SQLCONNECTIONSTRING);
??????? string cmdText = "SELECT Count(*) as BookCount FROM Book";
??????? SqlCommand comm = new SqlCommand(cmdText, conn);
??????? conn.Open(); int result = (int)comm.ExecuteScalar();
??????? Response.Write("Book表的記錄數為:" + result.ToString());
??????? Response.Write("<br>SQL Server數據庫的連接狀態為:" + conn.State.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的通信包的大小為:" + conn.PacketSize.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的數據庫為:" + conn.Database.ToString());
??????? Response.Write("<br>SQL Server數據庫連接的工作站點:" + conn.WorkstationId.ToString());
??????? conn.Close();
??????? Response.Write("<br>SQL Server數據庫的連接狀態:" + conn.State.ToString()); }
}
????? 對于剛剛開始熟悉 VS2005 的朋友來說,很多細節的東西要與03區別,當然,查一下SDK很容易找到異同和解決方法,本文小例針對在05中初次配置web.config遇到的小麻煩做一總結,詳細的 configuration 操作可以參考SDK了,呵呵。
本文轉自 august 51CTO博客,原文鏈接:http://blog.51cto.com/august/6971,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【python+selenium自动化】
- 下一篇: script与scriptreplay用