学习目的:
- 学习ADO.NET用法,并如何用DataRearder读取数据
今天练习数据库的最基本用法,如何打开数据库。首先在网站设置文件web.config文件的<configuration>下方加入以下节点:
<configuration>
<appSettings>
<add key="数据库1" value="ex01.mdb" />
</appSettings>
……
该节点设置了数据库的路径,这样就可以很方便的调用数据库文件了,调用方法为:
Server.MapPath(ConfigurationSettings.AppSettings["数据库1"])
这是ASP.NET程序的通用方法,以后介绍的SQL SERVER数据库也是在此设置的。
好开始做程序,首先在CS文件的头部加入:
using System.Configuration;
using System.Data.OleDb;
using System.Text;
以下在Page的Load事件中,读取ACCESS数据库,并用表格显示出来:
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["数据库1"]);
// 连接数据库的语句
OleDbConnection conn = new OleDbConnection(strConnection);
// 建立DbCommand对象
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Book";
// 打开数据库
conn.Open();
// 用DataReader读取数据
OleDbDataReader dr = cmd.ExecuteReader();
sbTable.Append("<table cellSpacing='0' cellPadding='0' border='1'><tr>");
sbTable.Append("<td>书名</td><td>作者</td><td>单价<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用毕必须关闭,否则会阻塞服务器
dr.Close();
// DbConnection是受托管的,可以不关闭
// 但为良好的编程习惯,应该关闭
conn.Close();
Response.Write(sbTable.ToString());
}
显示结果