02 数据库系统 实验报告3Word下载.docx
《02 数据库系统 实验报告3Word下载.docx》由会员分享,可在线阅读,更多相关《02 数据库系统 实验报告3Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![02 数据库系统 实验报告3Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/15/8d7e4d9e-a979-44bf-8bb1-c66d4e8bd40c/8d7e4d9e-a979-44bf-8bb1-c66d4e8bd40c1.gif)
实验类型
设计
实验学时
4
2018-06-01
一、实验目的与要求
(1)了解C/S结构的小型MIS的开发思路与过程
(2)理解ODBC与ADO的作用
(3)学习Delphi访问数据库的方法与表单Form的设计方法
二、实验环境(实验设备)
硬件:
微型计算机
软件:
Windows操作系统、Delphi6(或更高版本),MSSQLServer或ORACLE10G
三、实验原理及内容
1.在MSSQLServer或ORACLE10G中创建一个存储航班信息的数据库;
(1)打开程序MicrosoftSQLSERVER服务管理器,将服务器名选为local,服务选为SQL
Server,然后刷新服务;
(2)打开程序MicrosoftSQLSERVER企业管理器,打开MicrosoftSQLSERVERSQLServer组(local)(WindowsNT)数据库,右键“数据库”后就可以创建数据库B15041103,即在本地服务器上创建一个数据库B15041103。
如下图所示:
2.在刚创建的数据库中,设计与创建实验所用到的数据库结构(三级模式结构);
将该表导出为SQL语句后:
ifexists(select*fromdbo、sysobjectswhereid=object_id(N'
[dbo]、[flight]'
)
andOBJECTPROPERTY(id,N'
IsUserTable'
)=1)
droptable[dbo]、[flight]
GO
CREATETABLE[dbo]、[flight](
[航班号][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[起点][varchar](15)COLLATEChinese_PRC_CI_ASNULL,
[终点][varchar](15)COLLATEChinese_PRC_CI_ASNULL,
[日期][datetime]NOTNULL,
[起飞时刻][char](6)COLLATEChinese_PRC_CI_ASNULL,
[到达时刻][char](6)COLLATEChinese_PRC_CI_ASNULL,
[剩余座位数][int]NULL,
[票价][float]NULL,
[折扣票数][float]NULL,
[折扣率][float]NULL,
[航班所属航空公司][varchar](20)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
3.启动Delphi,创建一个自己的Project,进行界面设计
(1)Form1系统界面:
系统启动时的界面,给不同的用户提供不同的选择,可以以此进入票务管理
与票务查询子功能。
具体操作为:
建新表单Form1→拖放Button控件→设置控件属性→编写事件代码。
(2)Form2登录界面:
用户登录界面,输入用户名与密码,确认身份后,跳出操作界面,在此
界面中,用户(管理员)可以进行航班数据维护与查询操作。
建新表单Form2→拖放控件Label→设置控件属性→编写事件代码。
(3)Form3查询界面:
按访问系统的用户的不同,对功能进行设置进行航班数据查询操作,但
不能维护数据。
建新表单Form→拖放控件:
ADOConnection控件ADOQuery控件与DataSource
控件→设置控件属性(连接数据库)→编写事件代码。
4.通过ADO访问在MSSQLServer或ORACLE10G中创建的航班信息数据库
本次报告对实验中所使用的控件名称、作用及属性与空间属性取值进行了详细的表格说明,表格按
照控件执行的先后顺序依次列出:
控件名称
控件作用
控件属性
控件取值
ADOConnection
可对数据库下
命令(设置
SQL属性值)、
存取同一数
据库内不同表
的内容。
ConnectionString
点击该属性后的“…”,在弹出的对话框中点击“Build”,选择希望
连接的数据“MicrosoftOLEDBProviderforSQLServer”,点击“下
一步”后,其中服务器名称可以选为“local”(复制本机的SQL
SERVER服务器名),数据库选为事先在SQLSERVER中设计
好的数据库B15041103。
点击“测试连接”,如果“测试连接成功”
则点击“确定”后完成对ADOConnection控件的配置,否则就要返
回检查。
ADOQuery
数据库程序操
作的对象就是数
据库内单一的
表。
Connection
ADOConnection1
SQL
select*fromflight;
DataSource
用于指明与数
据控制组件
链接的数据
访问Data
Access组件。
DataSet
ADOQuery1
DBNavigator
主要用于在数
据集中进行记
录导航与为用
户操纵数据集
中的记录提供
一组简明的
控制按钮。
DataSource1
DBGrid
以网格的形式
显示指定数
据库表中的全
部记录的所有
字段信息。
Active
TRUE
以下就是文字说明:
本次实验需要连接数据库:
利用MSSQLServer2000做后台数据库,通过ADO访问数据库,则方法与步
骤如下:
a)打开Delphi后,将一些控件拖到FORM中。
其中ADOConnection控件与ADOQuery控件在
ADO数据集组件中,DataSource在DataAccess数据访问组件中,DBNavigator与DBGrid在Data
Control数据控制组件中;
b)修改ADOConnection控件的ConnectionString属性,具体说明见表格;
c)修改ADOQuery控件属性。
将Connection属性值改为ADOConnection1;
将SQL属性值改为
“select*fromflight;
”;
d)修改DataSource控件的DataSet属性。
将该属性值改为:
ADOQuery1;
e)修改DBNavigator控件属性。
将DataSource属性值设置为DataSource1;
f)修改DBGrid控件属性。
g)最后将ADOQuery控件的Active属性值改为TRUE;
最终显示成果如下图所示:
要求登录数据库后输入密码如下图,只有在数据库成功连接时才能把Active属性值改为TRUE。
在数据库中插入数据:
5.写出实现各功能的响应事件、事件的核心代码,如插入、更新或删除事件等
Form1:
ProcedureTForm1、Button2Click(Sender:
TObject);
begin
Unit3、Form3、DBNavigator1、VisibleButtons:
=[];
Unit3、Form3、FormCreate(Sender);
Unit3、Form3、Show;
end;
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,
Forms,Dialogs,StdCtrls,DBCtrls;
procedureTForm1、Button1Click(Sender:
Begin
=[nbFirst,nbPrior,nbNext,
nbLast,nbInsert,nbDelete,nbEdit,nbPost,nbCancel,nbRefresh];
Unit2、Form2、Show;
Form2:
【确定】按钮代码如下:
procedureTForm2、Button1Click(Sender:
begin
if((Edit1、Text='
sxn'
)and(Edit2、Text='
))then
begin
Unit3、Form3、Show;
end
else
showmessage(‘请输入正确的用户名或密码!
’);
Edit1、Text:
='
'
;
Edit2、Text:
end;
【取消】按钮代码如下:
procedureTForm2、Button2Click(Sender:
close;
Form3:
【查询】按钮代码如下:
procedureTForm3、Button1Click(Sender:
ADOQuery1、Close;
ADOQuery1、SQL、Clear;
ADOQuery1、SQL、Add('
select*'
);
ADOQuery1、SQL、Add('
fromflight'
where航班号='
+Edit1、Text+
'
and日期='
+ComboBox1、Text+'
-'
+
ComboBox2、Text+'
+ComboBox3、Text+'
ADOQuery1、Prepared;
ADOQuery1、Open;
ADOQuery1、Active:
=true;
【退出】按钮代码如下:
procedureTForm3、Button2Click(Sender:
四、实验小结(包括问题与解决方法、心得体会、意见与建议等)
(一)实验中遇到的主要问题及解决方法
创建主系统编写界面时完成双击按钮的执行时,由于实践指导书不够清晰的原因,代码中的,总就是误写为、,导致程序无法正常运行,后来仔细观察后才知道错误所在。
在创建本地数据库时,并没有在本地创建数据库,而就是在别的项目下创建了数据库,所以导致了后来数据无法连接,经过一系列排查问题,最终解决了这个问题。
(二)实验心得
这个实验的过程不就是很难,因为有实验指导书作为参考,但就是实际上做实验的时候还就是有很多自己没注意到的小毛病,比如说关键代码的,与、写错了,或者就是单词拼写错误导致了程序无法正常运行。
如果认真做四个课时的实验肯定就是足够的。
此外这个实验还拓宽了我的眼界。
之前我一直以为很多软件包括APP在内就是用C#或者JAVA实现的,数据库只就是很简单的起到了一个后台的作用,现在发现基本上很多重要的大型的系统离开数据库就如同鸡肋一般。
这个课程还就是让我认识到了数据库在我们很多软件设计中的重要地位,学好数据库也就是很重要的一项内容。
五、支撑毕业要求指标点
☑1、4-M掌握计算机科学与技术的专业知识,能将专业知识用于分析与解决计算机及应用领域的复杂工程问题。
☑3、2-M能够根据用户需求,选取适当的研究方法与技术手段,确定复杂工程问题的解决方案。
☑4、2-M能够根据实验方案,配置实验环境、开展实验,综合分析实验结果以获得合理有效的结论。
☑5、1-H能够合理使用现代化信息工具。
六、指导教师成绩评价表
评分细则
评分项
优秀
良好
中等
合格
不合格
遵守实验室规章制度
学习态度
实验准备就是否充分
配置实验环境
实验开展情况
实验完成度
实验结果的分析
专业知识掌握情况
选取适当方法与技术能力
分析与解决工程问题能力
使用现代化信息工具
报告书写认真程度
内容详实程度
文字表达熟练程度
其它评价意见
本次实验能力达成评价
(总成绩)
批阅人
日期