
02数据库系统实验报告3.doc
11页实 验 报 告( 2017/ 2018学年 第 二 学期)课程名称数据库系统实验名称小型MIS开发实验时间2018年6月1日指导单位计算机学院软件工程系指导教师程春玲学生姓名张颖班级学号B15041103学院(系)计软院专 业软件工程实 验 报 告实验名称小型MIS开发指导教师程春玲实验类型设计实验学时4实验时间2018-06-01一、 实验目的和要求 (1) 了解C/S结构的小型MIS的开发思路和过程(2) 理解ODBC和ADO的作用(3) 学习Delphi访问数据库的方法和表单Form的设计方法二、实验环境(实验设备)硬件:微型计算机软件:Windows 操作系统、Delphi 6(或更高版本),MS SQL Server或ORACLE 10G三、实验原理及内容1.在MS SQL Server或ORACLE 10G中创建一个存储航班信息的数据库;(1)打开程序Microsoft SQL SERVER服务管理器,将服务器名选为 local,服务选为 SQLServer,然后刷新服务;(2)打开程序Microsoft SQL SERVER企业管理器,打开 Microsoft SQL SERVER SQL Server 组 (local)(Windows NT) 数据库,右键“数据库” 后就可以创建数据库B15041103,即在本地服务器上创建 一个数据库B15041103。
如下图所示:实 验 报 告2.在刚创建的数据库中,设计和创建实验所用到的数据库结构(三级模式结构);将该表导出为SQL语句后: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[flight]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)实 验 报 告drop table [dbo].[flight]GOCREATE TABLE [dbo].[flight] ( [航班号] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [起点] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL , [终点] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL , [日期] [datetime] NOT NULL , [起飞时刻] [char] (6) COLLATE Chinese_PRC_CI_AS NULL , [到达时刻] [char] (6) COLLATE Chinese_PRC_CI_AS NULL , [剩余座位数] [int] NULL , [票价] [float] NULL , [折扣票数] [float] NULL , [折扣率] [float] NULL , [航班所属航空公司] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GO3.启动Delphi,创建一个自己的Project,进行界面设计(1)Form1系统界面:系统启动时的界面,给不同的用户提供不同的选择,可以以此进入票务管理和票务查询子功能。
具体操作为:建新表单 Form1 →拖放Button控件→设置控件属性→编写事件代码2)Form2登录界面:用户登录界面,输入用户名和密码,确认身份后,跳出操作界面,在此界面中,用户(管理员)可以进行航班数据维护和查询操作具体操作为:建新表单 Form2 →拖放控件Label→设置控件属性→编写事件代码实 验 报 告(3)Form3查询界面:按访问系统的用户的不同,对功能进行设置进行航班数据查询操作,但不能维护数据具体操作为:建新表单 Form →拖放控件:ADOConnection 控件 ADOQuery 控件和DataSource控件→设置控件属性(连接数据库)→编写事件代码4.通过ADO访问在MS SQL Server或ORACLE 10G中创建的航班信息数据库本次报告对实验中所使用的控件名称、作用及属性和空间属性取值进行了详细的表格说明,表格按照控件执行的先后顺序依次列出:控件名称控件作用控件属性控件取值ADOConnection 可对数据库下命令(设置 SQL 属性值)、存取同一数据库内不同表的内容Connection String点击该属性后的“…”,在弹出的对话框中点击“Build”,选择希望连接的数据“Microsoft OLE DB Provider for SQL Server”,点击“下一步”后,其中服务器名称可以选为“local”(复制本机的 SQL SERVER 服务器名),数据库选为事先在 SQL SERVER 中设计好的数据库B15041103。
点击“测试连接”,如果“测试连接成功”则点击“确定”后完成对 ADOConnection控件的配置,否则就要返回检查ADOQuery数据库程序操作的对象是数据库内单一的表ConnectionADOConnection1SQLselect * from flight;DataSource用于指明与数据控制组件链接的数据访问Data Access组件DataSetADOQuery1DBNavigator主要用于在数据集中进行记录导航和为用户操纵数据集中的记录提供一组简明的控制按钮DataSourceDataSource1DBGrid以网格的形式显示指定数据库表中的全部记录的所有字段信息DataSourceDataSource1ADOQuery数据库程序操作的对象是数据库内单一的表ActiveTRUE以下是文字说明:本次实验需要连接数据库:利用MS SQL Server2000 做后台数据库,通过 ADO 访问数据库,则方法与步骤如下: a)打开 Delphi 后,将一些控件拖到 FORM 中其中 ADOConnection 控件和 ADOQuery 控件在 ADO 数据集组件中,DataSource 在 Data Access 数据访问组件中,DBNavigator 和 DBGrid 在 Data Control 数据控制组件中;b)修改 ADOConnection 控件的 Connection String 属性,具体说明见表格;c)修改 ADOQuery 控件属性。
将 Connection 属性值改为 ADOConnection1;将 SQL 属性值改为“select * from flight;”;d)修改DataSource控件的DataSet属性将该属性值改为:ADOQuery1;e)修改DBNavigator控件属性将DataSource属性值设置为DataSource1;f)修改DBGrid控件属性将DataSource属性值设置为DataSource1;g)最后将ADOQuery控件的Active属性值改为TRUE;最终显示成果如下图所示:要求登录数据库后输入密码如下图,只有在数据库成功连接时才能把Active属性值改为TRUE在数据库中插入数据:5.写出实现各功能的响应事件、事件的核心代码,如插入、更新或删除事件等Form1:Procedure TForm1.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;procedure TForm1.Button1Click(Sender: TObject);Begin Unit3.Form3.DBNavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext, nbLast,nbInsert,nbDelete,nbEdit,nbPost,nbCancel,nbRefresh]; Unit2.Form2.Show;end; Form2:【确定】按钮代码如下: procedure TForm2.Button1Click(Sender: TObject); begin if ((Edit1.Text='sxn')and (Edit2.Text='sxn')) then begin Unit3.Form3.FormCreate(Sender); Unit3.Form3.Show; end else showmessage(‘请输入正确的用户名或密码!’); Edit1.Text:=''; Edit2.Text:=''; end;【取消】按钮代码如下:procedure TForm2.Button2Click(Sender: TObject); begin close; end; Form3:【查询】按钮代码如下: procedure TForm3.Button1Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select *'); ADOQuery1.SQL.Add('from flight'); ADOQuery1.SQL.Add('where 航班号='''+Edit1.Text+ '''and 日期='''+ComboBox1.Text+'-'+ ComboBox2.Text+'-'+ComboBox3.Text+''''); ADOQuery1.Prepared; ADOQuery1.Open; ADOQuery1.Active:=true; end;【退出】按钮代码如下: procedure。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






