ado.net
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); //抛出数据库连接异常
}
}
单击页面UpdateData.aspx中【修改数据】按钮控件,触发事件 UpdateDataBtn_Click(object sender, System.EventArgs e)。该事件实现修改数据库MyFirstAccessDB中数据的功能,它调用函数UpdataDBData(String myID,String myName)。首先从页面获取MyID和MyName的值,然后再使用SQL更新语句更新表中相应的记录,最后调用函数ShowDBData()显示表的数据。事件UpdateDataBtn_Click(object sender, System.EventArgs e)和函数UpdataDBData(String myID,String myName)的程序代码如下:
private void UpdateDataBtn_Click(object sender, System.EventArgs e)
{
if(MyID.Text.Trim().Length > 0 && MyName.Text.Trim().Length > 0)
{
UpdataDBData(MyID.Text.Trim(),MyName.Text.Trim()); //修改表中的记录
ShowDBData(); //显示修改后的数据
}
}
private void UpdataDBData(String myID,String myName)
{ //设置访问数据库的连接
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath("MyFirstAccessDB.mdb");
//设置更新数据库的SQL语句
string cmdText = "UPDATE MyDataTable SET MyName=‘" + myName
+ "‘ WHERE MyID=" + myID;
//创建访问数据库的连接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
try
{
accessConn.Open(); //打开OLEDB数据库的连接
accessComm.ExecuteNonQuery(); //执行更新数据操作
accessConn.Close(); //关闭OLEDB数据库的连接
}
catch(Exception ex)
{
Response.Write(ex.Message); //抛出数据库连接异常
}
}
经过前面的步骤,一个简单的网络数据库程序就完成了。下面运行一下。
(1)设置页面UpdateData.aspx为应用程序的起始页面。按F5键运行,出现如图1-11所示的初始界面。
图1-11 页面UpdateData.aspx的初始界面
(2)在MyID和MyName文本框中分别输入“1”和“Name100”,然后单击【修改数据】按钮,页面UpdateData.aspx如图1-12所示。
图1-12 页面UpdateData.aspx显示修改表后的数据
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。