1.使用数据库MyFirstAccessDB
本实例使用的数据库名称为MyFirstAccessDB,版本为Microsoft Access 2003中文版。该数据库已经在1.4.2节中创建。
2.设计页面UpdateData.aspx
在应用程序Example_1_1中添加一个新的Web页面,命名为UpdateData.aspx。然后在页面中添加两个TextBox控件和一个Button按钮控件,它们的名称分别为MyID、MyName和UpdataDataBtn。
控件MyID和控件MyName分别用来输入字段主键ID和字段名称;控件UpdataDataBtn实现修改数据库中数据的功能。页面UpdateData.aspx的设计界面如图1-10所示。
图1-9 页面ShowData.aspx的初始界面
图1-10 页面UpdateData.aspx的设计界面
页面UpdateData.aspx的HTML设计代码如下: <%@ Page language="c#" Codebehind="UpdateData.aspx.cs" AutoEventWireup="false" Inherits="Example_1_1.UpdateData" %> <HTML><HEAD><title>Example_1_1:修改数据库中的数据</title></HEAD> <asp:TextBox id="MyID" runat="server"></asp:TextBox> <asp:TextBox id="MyName" runat="server"></asp:TextBox> <asp:Button id="UpdateDataBtn" runat="server" Text="修改数据"></asp:Button> </HTML>
把页面UpdateData.aspx访问数据库的连接字符串存放在应用程序的配置文件web.config中。程序代码如下: <appSettings> <add key="ACCESSCONNECTIONSTRING" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="> </add> </appSettings>
由于页面ShowData.aspx获取连接字符串时需要使用类ConfigurationSettings。它被包含在名字空间System.Configuration中,因此需要引入该名字空间。页面获取连接字符串的程序代码如下: using System.Configuration; //引入名字空间 //获取连接字符串 private readonly string ACCESSCONNECTIONSTRING =ConfigurationSettings.AppSettings[ "ACCESSCONNECTIONSTRING"].ToString();
4.设计页面UpdateData.aspx的事件和函数
页面UpdateData.aspx调用函数Page_Load(Object sender,System.EventArgs e)初始化,该函数调用函数ShowDBData()显示数据库MyFirstAccessDB的表MyDataTable中的数据,显示的格式为表中的字段排列顺序,同时还显示连接信息。函数Page_Load(object sender, System.EventArgs e)和函数ShowDBData()的程序代码如下: private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { ShowDBData(); //显示数据库MyFirstAccessDB中的数据 } } private void ShowDBData() { //设在访问数据库的连接字符串 string accessString = ACCESSCONNECTIONSTRING + Server.MapPath("MyFirstAccessDB.mdb"); string cmdText = "SELECT * FROM MyDataTable"; //创建获取数据的SQL语句 //创建数据库的连接和Command OleDbConnection accessConn = new OleDbConnection(accessString); OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn); //定义数据显示的格式 string dataString = "<br>MyID MyName MyType My Length<br>";
try { accessConn.Open(); //打开OLEDB数据库的连接 Response.Write("连接MyFirstAccessDB数据源成功!!!"); //显示数据库中的信息 OleDbDataReader reca = accessComm.ExecuteReader(); while(reca.Read()) { //获取相应数据 dataString += reca["MyID"].ToString() +" " + reca["MyName"].ToString() +" " + reca["MyType"].ToString() +" " + reca["MyLength"].ToString(); dataString += "<br>"; } reca.Close(); Response.Write(dataString); //显示数据库中的内容 accessConn.Close(); //关闭OLEDB数据库的连接 } catch(Exception ex) { Response.Write(ex.Message); //抛出数据库连接异常 } }
|