每四天
學(xué)習(xí)目的:
學(xué)習(xí)ADO.NET用法,并如何用DataRearder讀取數(shù)據(jù)
今天練習(xí)數(shù)據(jù)庫的最基本用法,如何打開數(shù)據(jù)庫。首先在網(wǎng)站設(shè)置文件web.config文件的<configuration>下方加入以下節(jié)點(diǎn):
<configuration>
<appSettings>
<add key="數(shù)據(jù)庫1" value="ex01.mdb" />
</appSettings>
……
該節(jié)點(diǎn)設(shè)置了數(shù)據(jù)庫的路徑,這樣就可以很方便的調(diào)用數(shù)據(jù)庫文件了,調(diào)用方法為:
Server.MapPath(ConfigurationSettings.AppSettings["數(shù)據(jù)庫1"])
這是ASP.NET程序的通用方法,以后介紹的SQL SERVER數(shù)據(jù)庫也是在此設(shè)置的。
好開始做程序,首先在CS文件的頭部加入:
using System.Configuration;
using System.Data.OleDb;
using System.Text;
以下在Page的Load事件中,讀取ACCESS數(shù)據(jù)庫,并用表格顯示出來:
private void Page_Load(object sender, System.EventArgs e)
{
StringBuilder sbTable = new StringBuilder(); // 用于輸出表格的語句
string strConnection = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="
+ Server.MapPath(ConfigurationSettings.AppSettings["數(shù)據(jù)庫1"]);
// 連接數(shù)據(jù)庫的語句
OleDbConnection conn = new OleDbConnection(strConnection);
// 建立DbCommand對(duì)象
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Book";
// 打開數(shù)據(jù)庫
conn.Open();
// 用DataReader讀取數(shù)據(jù)
OleDbDataReader dr = cmd.ExecuteReader();
sbTable.Append("<table cellSpacing="0" cellPadding="0" border="1"><tr>");
sbTable.Append("<td>書名</td><td>作者</td><td>單價(jià)<td></tr>");
while (dr.Read())
{
sbTable.Append("<tr><td>");
sbTable.Append(dr["Booktitle"].ToString());
sbTable.Append("</td><td>");
sbTable.Append(dr["Author"].ToString());
sbTable.Append("</td><td>");
sbTable.Append(dr["UnitPrice"].ToString());
sbTable.Append("</td><tr>");
}
sbTable.Append("</tr></table>");
// 記住dr用畢必須關(guān)閉,否則會(huì)阻塞服務(wù)器
dr.Close();
// DbConnection是受托管的,可以不關(guān)閉
// 但為良好的編程習(xí)慣,應(yīng)該關(guān)閉
conn.Close();
Response.Write(sbTable.ToString());
}
顯示結(jié)果
圖片如下: