学习目的:

  • 学习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());

    }
    显示结果