.使用数据库MyFirstAccessDB
本实例使用的数据库名称为MyFirstAccessDB版本为Microsoft Access 中文版该数据库已经在节中创建
.设计页面UpdateDataaspx
在应用程序Example__中添加一个新的Web页面命名为UpdateDataaspx然后在页面中添加两个TextBox控件和一个Button按钮控件它们的名称分别为MyIDMyName和UpdataDataBtn
控件MyID和控件MyName分别用来输入字段主键ID和字段名称控件UpdataDataBtn实现修改数据库中数据的功能页面UpdateDataaspx的设计界面如图所示
图 页面ShowDataaspx的初始界面
图 页面UpdateDataaspx的设计界面
页面UpdateDataaspx的HTML设计代码如下
<%@ Page language=c# Codebehind=UpdateDataaspxcs
AutoEventWireup=false Inherits=Example__UpdateData %>
<HTML><HEAD><title>Example__修改数据库中的数据</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>
把页面UpdateDataaspx访问数据库的连接字符串存放在应用程序的配置文件nfig中程序代码如下
<appSettings>
<add key=ACCESSCONNECTIONSTRING
value=Provider=MicrosoftJetOLEDB; Data Source=>
</add>
</appSettings>
由于页面ShowDataaspx获取连接字符串时需要使用类ConfigurationSettings它被包含在名字空间SystemConfiguration中因此需要引入该名字空间页面获取连接字符串的程序代码如下
using SystemConfiguration; //引入名字空间
//获取连接字符串
private readonly string ACCESSCONNECTIONSTRING
=ConfigurationSettingsAppSettings[
ACCESSCONNECTIONSTRING]ToString();
.设计页面UpdateDataaspx的事件和函数
页面UpdateDataaspx调用函数Page_Load(Object senderSystemEventArgs e)初始化该函数调用函数ShowDBData()显示数据库MyFirstAccessDB的表MyDataTable中的数据显示的格式为表中的字段排列顺序同时还显示连接信息函数Page_Load(object sender SystemEventArgs e)和函数ShowDBData()的程序代码如下
private void Page_Load(object sender SystemEventArgs e)
{
if(!PageIsPostBack)
{
ShowDBData(); //显示数据库MyFirstAccessDB中的数据
}
}
private void ShowDBData()
{ //设在访问数据库的连接字符串
string accessString = ACCESSCONNECTIONSTRING
+ ServerMapPath(MyFirstAccessDBmdb);
string cmdText = SELECT * FROM MyDataTable; //创建获取数据的SQL语句
//创建数据库的连接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdTextaccessConn);
//定义数据显示的格式
string dataString = <br>MyID MyName MyType My Length<br>;
try
{
accessConnOpen(); //打开OLEDB数据库的连接
ResponseWrite(连接MyFirstAccessDB数据源成功!!!);
//显示数据库中的信息
OleDbDataReader reca = accessCommExecuteReader();
while(recaRead())
{ //获取相应数据
dataString += reca[MyID]ToString() +
+ reca[MyName]ToString()
+ + reca[MyType]ToString() +
+ reca[MyLength]ToString();
dataString += <br>;
}
recaClose();
ResponseWrite(dataString); //显示数据库中的内容
accessConnClose(); //关闭OLEDB数据库的连接
}
catch(Exception ex)
{
ResponseWrite(exMessage); //抛出数据库连接异常
}
}
单击页面UpdateDataaspx中【修改数据】按钮控件触发事件 UpdateDataBtn_Click(object sender SystemEventArgs e)该事件实现修改数据库MyFirstAccessDB中数据的功能它调用函数UpdataDBData(String myIDString myName)首先从页面获取MyID和MyName的值然后再使用SQL更新语句更新表中相应的记录最后调用函数ShowDBData()显示表的数据事件UpdateDataBtn_Click(object sender SystemEventArgs e)和函数UpdataDBData(String myIDString myName)的程序代码如下
private void UpdateDataBtn_Click(object sender SystemEventArgs e)
{
if(MyIDTextTrim()Length > && MyNameTextTrim()Length > )
{
UpdataDBData(MyIDTextTrim()MyNameTextTrim()); //修改表中的记录
ShowDBData();//显示修改后的数据
}
}
private void UpdataDBData(String myIDString myName)
{ //设置访问数据库的连接
string accessString = ACCESSCONNECTIONSTRING
+ ServerMapPath(MyFirstAccessDBmdb);
//设置更新数据库的SQL语句
string cmdText = UPDATE MyDataTable SET MyName= + myName
+ WHERE MyID= + myID;
//创建访问数据库的连接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdTextaccessConn);
try
{
accessConnOpen();//打开OLEDB数据库的连接
accessCommExecuteNonQuery(); //执行更新数据操作
accessConnClose(); //关闭OLEDB数据库的连接
}
catch(Exception ex)
{
ResponseWrite(exMessage); //抛出数据库连接异常
}
}
经过前面的步骤一个简单的网络数据库程序就完成了下面运行一下
()设置页面UpdateDataaspx为应用程序的起始页面按F键运行出现如图所示的初始界面
图 页面UpdateDataaspx的初始界面
()在MyID和MyName文本框中分别输入和Name然后单击【修改数据】按钮页面UpdateDataaspx如图所示
图 页面UpdateDataaspx显示修改表后的数据