悄然无声的 Blog
不是我不明白,这世界变化快!

学习目的:

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

            }
    显示结果

    图片如下:
  • posted on 2005-09-09 12:21  左洸  阅读(191)  评论(0)    收藏  举报