1
编程实验
在Windows操作系统中,Microsoft Access和Microsoft SQL Server是最常见的数据库,它们同时也应用于网络程序应用系统。一般情况下,Microsoft Access数据库比较适合小型或家庭型的应用程序,而Microsoft SQL Server一般比较适合大型的应用程序。下面以Microsoft Access 2000和Microsoft SQL Server 2000介绍这两类数据库。
1.Microsoft Access数据库
Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是32位Access的第三个版本。Microsoft Access及其Jet数据库引擎占据了整个桌面数据库市场。
2.Microsoft SQL Server数据库
Microsoft SQL Server 2000数据库是一个多关系数据管理系统。它不仅是一个完整的数据库,而且具有强大的扩展性。它是Windows操作系统最为流行的数据库,比较适合小型、中型或大型应用程序的后台数据库。它也适用于电子商务、数据仓库和在线商业应用程序等。
3.Oracle数据库
Oracle数据库一般比较适合超大型的行业领域,如电信、移动、联通、医疗保险、邮政部门等。在行业领域,电信基本上使用Oracle数据库和Sybase数据库。
4.MySQL数据库
MySQL数据库是一种非常特别的数据库。它以Web形式来体现,也是基于Web访问方式的数据库。和其他数据库相比,MySQL数据库的最大特点是建立在Internet之上,用户可以通过基于Web的查询方式来访问数据库。MySQL数据库除了运行在Windows操作系统上之外,还可以运行在Linux和UNIX操作系统上。MySQL数据库一般采用的是客户机/服务器体系结构。
构建一个完整、高效的数据库管理系统可以说是一个比较复杂的过程,通常包含以下5个基本步骤。
1.定义数据库的目标
这是构建数据库的第一步,也是构建数据库的起始点。在这一步,需要定义数据库实现功能、目标以及该系统运行的环境,最终形成一个什么样的数据库管理系统。只有经过这一步,后续的工作才可以开始。
2.数据库的逻辑设计
这一步是从设计目标和功能出发,规划出数据库的逻辑设计。例如,设计数据库中如何定义表以及表之间的关系。在某种程度上说,这一步和物理数据库的设计及其实现无关。
3.数据库的物理设计
这一步在数据库的逻辑设计之上,把数据库的逻辑设计转化为数据库的物理设计,如确定数据库需要哪些软件和硬件。
4.数据库的物理实现
这一步属于项目的实现阶段。它建立在数据库的物理设计之上,设计实际的物理数据以及数据库的服务器配置和存储数据的程序代码等。
5.复查构建的数据库
这一步为构建数据库的最后一步。在该步中,检查和评定构建的数据库是否满足第一步中的目标及其要求,同时还可以制定维护和更新数据库的实施方案。
构建数据库系统的流程如图1-1所示。在实际设计中,有些步骤可能体现得不是很明显。
图1-1 构建数据库系统的流程图
1.4 第一个数据库管理系统
1.4.1 本系统的设计目标
本系统使用Microsoft Access数据库设计第一个数据库管理系统。首先使用Access创建数据库,它的名称为MyFirstAccessDB。然后在该数据库中创建一个数据表MyDataTable。该表包含主键ID(MyID)、字段名称(MyName)、字段类型(MyType)和字段长度(MyLength)4个字段。最后在该表中添加一些测试数据。
创建MyFirstAccessDB数据库之后,需要创建一个ASP.NET应用程序Example_1_1,用来访问该数据库,并实现显示数据和修改数据等功能。
在本章节的最后,还将介绍ASP.NET应用程序Example_1_1和数据库MyFirstAccessDB的发布方法。
1.4.2 使用Access建立数据库
1.打开Microsoft Office Access 2003
首先确认您的计算机上是否已经安装了Microsoft Office Access 2003。如果没有安装,请读者自行安装,这里不再介绍它的安装方法。如果已经安装好了Microsoft Office Access 2003,则依次选择【开始】|【程序】|【Microsoft Office】|【Microsoft Office Access 2003】命令,弹出【Microsoft Access】对话框,如图1-2所示。
图1-2 Microsoft Access对话框
2.创建Access数据库MyFirstAccessDB
(1)选择【文件】|【新建】命令,【Microsoft Access】窗口在右边显示【新建文件】子对话框,如图1-3所示。
图1-3 打开【新建文件】子对话框
(2)单击【新建文件】子对话框中【新建】下的【空数据库】列表项,弹出【文件新建数据库】对话框。在【文件名】文本框中输入数据库名称MyFirstAccessDB,如图1-4所示。
图1-4 打开Microsoft Office Access 2003的操作界面
(3)单击【创建】按钮创建空数据库MyFirstAccessDB。此时弹出管理数据库MyFirstAccessDB的对话框,如图1-5所示。
图1-5 创建好的空数据库MyFirstAccessDB及其管理界面
3.创建数据表MyDataTable
在Access数据库中,创建新数据表有3种方式,它们分别为“使用设计图创建表”、“使用向导创建表”和“通过输入数据创建表”。在此使用“使用设计图创建表”方式创建表MyDataTable。
(1)双击【使用设计图创建表】选项,弹出创建表的输入界面,在界面中依次添加MyID、MyName、MyType和MyLength 4个字段,分别表示字段ID、字段名称、字段类型和字段长度,并把MyID设为该表的主键,同时设置为自动增1。操作界面如图1-6所示。
(2)单击保存按钮,弹出【另存为】对话框。在【表名称】文本框中输入“MyDataTable”,如图1-7所示。单击【确定】按钮即可创建表MyDataTable。最后在该表中添加所需要的数据。按照同样方法可以创建该数据库的其他数据表。其他表的创建方法在此不一一介绍。
图1-6 创建新表MyDataTable
图1-7 保存表MyDataTable
1.4.3 连接到数据库
1.使用数据库MyFirstAccessDB
本实例使用的数据库名称为MyFirstAccessDB,版本为Microsoft Access 2003中文版。该数据库已经在1.4.2节中创建。
2.创建新ASP.NET应用程序
在Visual Studio .NET 2003集成开发环境中创建新的ASP.NET Web应用程序,命名为Example_1_1。
3.设计页面ConnectedAcDB.aspx
把应用程序Example_1_1的默认页面WebForm1.aspx重命名为ConnectedAcDB.aspx。该页面不需要添加任何ASP.NET服务器端控件或者客户端控件,因此不再介绍它的设计界面。页面ConnectedAcDB. aspx的HTML设计代码如下:
《%@ Page language=“c#” Codebehind=“ConnectedAcDB.aspx.cs”
AutoEventWireup=“false” Inherits=“Example_1_1. ConnectedAcDB” %>
《HEAD>《title> Example_1_1:连接到Access数据库《/title>《/HEAD>
《body MS_POSITIONING=“GridLayout”>
《form id=“Form1” method=“post” runat=“server”>
《/form>
《/body>
《/HTML>
4.设计访问数据库的连接字符串
把页面ConnectedAcDB.aspx访问数据库的连接字符串存放在应用程序的配置文件web.config中。程序代码如下:
《appSettings>
《add key=“ACCESSCONNECTIONSTRING”
value=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=”>
《/add>
《/appSettings>
由于页面ConnectedAcDB.aspx获取连接字符串时需要使用类ConfigurationSettings,它被包含在名字空间System.Configuration中,因此需要引入该名字空间。页面获取连接字符串的程序代码如下:
//引入名字空间
using System.Configuration;
//获取连接字符串
private readonly string ACCESSCONNECTIONSTRING
=ConfigurationSettings.AppSettings[
“ACCESSCONNECTIONSTRING”].ToString();
5.设计页面ConnectedAcDB.aspx的事件和函数
页面ConnectedAcDB.aspx调用函数Page_Load(object sender,System.EventArgs e)初始化。该函数调用函数ConnectAccessDB()创建连接数据库MyFirstAccessDB的连接字符串,并把连接信息显示在页面上。函数Page_Load(object sender, System.EventArgs e)和ConnectAccessDB()的程序代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
ConnectAccessDB(); //连接到MyFirstAccessDb数据库
}
}
private void ConnectAccessDB()
{ //设置访问数据库的连接字符串
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath(“MyFirstAccessDB.mdb”);
OleDbConnection accessConn = new OleDbConnection(accessString);
try
{
accessConn.Open(); //打开OLEDB数据库的连接
Response.Write(“连接MyFirstAccessDB数据源成功!!!”);
//显示连接成功信息
Response.Write(“《br>OLEDB数据库连接的连接字符串:”
+ accessConn.ConnectionString);
Response.Write(“《br>OLEDB数据库连接的数据库名称:”
+ accessConn.Database);
Response.Write(“《br>OLEDB数据库连接的数据源:”
+ accessConn.DataSource);
Response.Write(“《br>OLEDB数据库连接的数据库驱动:”
+ accessConn.Provider);
Response.Write(“《br>OLEDB数据库连接的服务器版本:”
+ accessConn.ServerVersion);
Response.Write(“《br>OLEDB数据库连接的打开状态:”
+ accessConn.State.ToString());
//执行数据库的操作,如选择、插入、删除和更新等
accessConn.Close(); //关闭OLEDB数据库的连接
Response.Write(“《br>《br>OLEDB数据库连接的关闭状态:”
+ accessConn.State.ToString());
}
catch(Exception ex)
{
Response.Write(ex.Message); //抛出数据库连接异常
}
}
设置页面ConnectedAcDB.aspx为应用程序的起始页面。按F5键运行后,出现如图1-8所示的初始界面。
图1-8 页面ConnectedAcDB.aspx的初始界面
1.4.4 访问并显示数据库中的数据
1.使用数据库MyFirstAccessDB
本实例使用的数据库名称为MyFirstAccessDB,版本为Microsoft Access 2003中文版。该数据库已经在1.4.2节中创建。
2.设计页面ShowData.aspx
在应用程序Example_1_1中添加一个新的Web页面,命名为ShowData.aspx。该页面不需要添加任何ASP.NET服务器端控件或者客户端控件。页面ShowData.aspx的HTML设计代码如下:
《%@ Page language=“c#” Codebehind=“ShowData.aspx.cs”
AutoEventWireup=“false” Inherits=“Example_1_1.ShowData” %>
《HEAD>《title> Example_1_1:连接到Access数据库《/title>《/HEAD>
《body MS_POSITIONING=“GridLayout”>
《form id=“Form1” method=“post” runat=“server”>
《/form>
《/body>
《/HTML>
3.设计访问数据库的连接字符串
把页面ShowData.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.设计页面ShowData.aspx的事件和函数
页面ShowData.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
{ //打开OLEDB数据库的连接
accessConn.Open();
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); //抛出数据库连接异常
}
}
设置页面ShowData.aspx为应用程序的起始页面。按F5键运行后,出现如图1-9所示的初始界面。
1.4.5 修改数据库
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.asp0x的初始界面
图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>
3.设计访问数据库的连接字符串
把页面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显示修改表后的数据
1.4.6 发布数据库系统
在本节中,介绍如何发布1.4.1、1.4.2、1.4.3、1.4.4和1.4.5节创建的ASP.NET应用程序和数据库MyFirstAccessDB。
(1)复制应用程序Example_1_1的所有文件,包括数据库MyFirstAccessDB文件。
(2)单击【控制面板】|【管理工具】中的【Internet信息服务】图标,右击【默认网站】项,选择【新建】|【虚拟目录】命令,弹出【虚拟目录创建向导】对话框。单击【下一步】按钮,弹出【虚拟目录别名】子对话框,并在该文本框中输入“Example_1_1”,如图1-13所示。
(3)单击【下一步】按钮,出现【网站内容目录】子对话框,单击【浏览】按钮选择应用程序Example_1_1存储的位置,如图1-14所示。
(4)依次单击【下一步】按钮和【完成】按钮,便完成了创建虚拟目录Example_1_1。打开一个新IE浏览器应用程序,在地址栏中输入“http://localhost/Example_1_1/ShowData.aspx”便可以显示页面ShowData.aspx,如图1-9所示。
图1-13 【虚拟目录别名】子对话框 图1-14 设置虚拟目录的文件地址
全部0条评论
快来发表一下你的评论吧 !