数据库应用项目化项目五酒店管理系统的开发ppt课件

上传人:新** 文档编号:592917066 上传时间:2024-09-23 格式:PPT 页数:165 大小:4.77MB
返回 下载 相关 举报
数据库应用项目化项目五酒店管理系统的开发ppt课件_第1页
第1页 / 共165页
数据库应用项目化项目五酒店管理系统的开发ppt课件_第2页
第2页 / 共165页
数据库应用项目化项目五酒店管理系统的开发ppt课件_第3页
第3页 / 共165页
数据库应用项目化项目五酒店管理系统的开发ppt课件_第4页
第4页 / 共165页
数据库应用项目化项目五酒店管理系统的开发ppt课件_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《数据库应用项目化项目五酒店管理系统的开发ppt课件》由会员分享,可在线阅读,更多相关《数据库应用项目化项目五酒店管理系统的开发ppt课件(165页珍藏版)》请在金锄头文库上搜索。

1、项目五 酒店管理系统的开发(实训) 工程五 酒店管理系统的开发(实训) 义务5-1 创建酒店管理数据库 义务5-2 创建其他数据对象 义务5-3 创建酒店管理运用程序 义务5-4 创建主界面窗体 义务5-5 创建入住登记窗体 义务5-6 创建退房登记窗体 义务5-7 创建客房信息修正窗体 义务5-8 创建客房查询窗体 义务5-9 创建客人信息修正窗体 义务5-10 创建客人信息查询窗体 义务5-11 完成酒店管理系统并发布 项目五 酒店管理系统的开发(实训) 义务义务5-1 创建酒店管理数据库创建酒店管理数据库义务分析义务分析酒店管理系统中,主要需求三张表来记录信息,酒店管理系统中,主要需求三

2、张表来记录信息,分别是房间表、客人信息表和入住信息表。另外,分别是房间表、客人信息表和入住信息表。另外,还需求一张记录房间类型的数据字典表还需求一张记录房间类型的数据字典表房间类型房间类型表和一张记录证件类型的数据字典表表和一张记录证件类型的数据字典表证件类型表。证件类型表。步骤步骤(1) 创建工程文件夹。在创建工程文件夹。在E盘上新建一个文件夹,盘上新建一个文件夹,命名为命名为“酒店管理。酒店管理。(2) 新建数据库,命名为新建数据库,命名为“酒店管理。在新建酒店管理。在新建数据库对话框中,将数据库对话框中,将“酒店管理的数据文件和日酒店管理的数据文件和日志文件的途径都定位到步骤志文件的途径

3、都定位到步骤(1)中创建的中创建的“酒店管理酒店管理文件夹。文件夹。项目五 酒店管理系统的开发(实训) 图5-1 创建数据库 项目五 酒店管理系统的开发(实训) 图5-2 房间表定义 (3) 创建房间表,房间表的字段名和数据类型设置如图5-2所示。设置房号为房间表的主键。项目五 酒店管理系统的开发(实训) 图5-3 客人信息表定义 (4) 创建客人信息表,客人信息表的字段名和数据类型设置如图5-3所示,设置证件号码为房间表的主键。项目五 酒店管理系统的开发(实训) 图5-4 入住信息表定义 (5) 创建入住信息表,入住信息表的字段名和数据类型设置如图5-4所示。由于表中其他字段均不具备独一性,

4、因此建立一个编号字段作为该表的主键。项目五 酒店管理系统的开发(实训) 图5-5 标识规范 选中“编号字段,在下方属性窗口中展开“标识规范属性,如图5-5所示。将“(是标识)属性选择为“是,“标识增量为“1,“标识种子为“1。项目五 酒店管理系统的开发(实训) 图5-6 房间类型表定义 (6) 房间类型表的字段名和数据类型设置如图5-6所示。编号的“标识规范属性设置同入住信息表。项目五 酒店管理系统的开发(实训) (7) 证件类型表的字段名和数据类型设置如图5-7所示。编号的“标识规范属性设置同入住信息表。图5-7 证件类型表 项目五 酒店管理系统的开发(实训) 图5-8 房间表记录 (8)

5、给房间表添加一些记录,如图5-8所示。项目五 酒店管理系统的开发(实训) (9) 给房间类型表添加一些记录,如图5-9所示。图5-9 房间类型表记录 项目五 酒店管理系统的开发(实训) 图5-10 证件类型表记录 (10) 给证件类型表添加一些记录,如图5-10所示。项目五 酒店管理系统的开发(实训) 义务义务5-2 创建其他数据对象创建其他数据对象 义务分析义务分析 房间表、客人信息表、入住信息表、房房间表、客人信息表、入住信息表、房间类型表和证件类型表,这五张表之间相互间类型表和证件类型表,这五张表之间相互有着制约和联络,需求在数据库中设置相应有着制约和联络,需求在数据库中设置相应的约束来

6、坚持数据的一致性。酒店管理的一的约束来坚持数据的一致性。酒店管理的一些功能可以经过建立触发器和存储过程来实些功能可以经过建立触发器和存储过程来实现,前台运用程序可直接调用数据库中的触现,前台运用程序可直接调用数据库中的触发器和存储过程。发器和存储过程。项目五 酒店管理系统的开发(实训) 义务1:创建外键目前创建的五张数据表中,入住信息表分别对房间信息表和证件类型表有依赖关系,入住信息表中的房号字段必需与房间信息表的主键房号字段坚持一致,入住信息表中的证件类型字段必需与证件类型表中的证件类型字段坚持一致。房间信息表对房间类型表也有依赖关系,房间信息表中的类型字段必需与房间类型表中的房间类型字段坚

7、持一致。这种数据一致性的要求,可以经过建立外键的方法来满足。下面我们来讲述如何创建入住信息表的外键。项目五 酒店管理系统的开发(实训) 步骤(1) 在对象资源管理器中展开表文件夹,选中“入住信息表并展开,选中“键文件夹,右键单击后在弹出的快捷菜单中选择“新建外键,此时入住信息表会自动被翻开,同时翻开“外键关系对话框,如图5-11所示。(2) 点击“表和列规范属性右侧的“按钮,在弹出的“表和列对话框中编辑外键,如图5-12所示。主键表选择“房间表,字段选择“房号。外键表为“入住信息表,字段为“房号。项目五 酒店管理系统的开发(实训) 图5-11 外键关系 项目五 酒店管理系统的开发(实训) 图5

8、-12 表和列 项目五 酒店管理系统的开发(实训) (3) 点击“确定按钮并封锁“外键关系对话框。保管对入住信息表的修正。项目五 酒店管理系统的开发(实训) 义务义务2:创建触发器:创建触发器义务分析义务分析酒店管理中的一些业务功能可以经过建立触发器的方式酒店管理中的一些业务功能可以经过建立触发器的方式来实现。比如,当有客人入住酒店后,除了要向入住信息表来实现。比如,当有客人入住酒店后,除了要向入住信息表中添加一条记录之外,还需求修正房间表,将客人所入住房中添加一条记录之外,还需求修正房间表,将客人所入住房间的形状更改为间的形状更改为“营业中。营业中。步骤步骤(1) 新建查询。点击工具栏中的按

9、钮,新建新建查询。点击工具栏中的按钮,新建一个查询。数据库选择为一个查询。数据库选择为“酒店管理。酒店管理。项目五 酒店管理系统的开发(实训) (2) 在查询文件中创建“入住触发器,命令如下:CREATE TRIGGER 入住ON 入住信息表AFTER INSERTASUPDATE 房间表SET 形状=营业中 WHERE 房号=(SELECT 房号 from INSERTED)(3) 执行以上触发器命令。会出现提示音讯“命令已胜利完成,如图5-13所示。项目五 酒店管理系统的开发(实训) 图5-13 创建“入住触发器 项目五 酒店管理系统的开发(实训) (4) 参照步骤(1)至(3)创建“退房

10、触发器,命令如下:CREATE TRIGGER 退房ON 入住信息表AFTER UPDATEASUPDATE 房间表SET 形状=空闲 WHERE 房号=(SELECT 房号from INSERTED)(5) 执行结果如图5-14所示。项目五 酒店管理系统的开发(实训) 图5-14 “退房触发器的执行结果 项目五 酒店管理系统的开发(实训) 图5-15 查看触发器 (6) 在对象资源管理器中刷新数据库。可在“入住信息表节点下的“触发器节点中看到新创建的两个触发器,如图5-15所示。项目五 酒店管理系统的开发(实训) 义务义务3:创建存储过程:创建存储过程入住登记业务需求向入住信息表中插入记录,

11、也能够需求向客人信入住登记业务需求向入住信息表中插入记录,也能够需求向客人信息表中插入记录。对两表的操作如有一项不胜利,那么需求回滚一切事息表中插入记录。对两表的操作如有一项不胜利,那么需求回滚一切事务。可以创建一个存储过程来完成以上功能。务。可以创建一个存储过程来完成以上功能。创建存储过程方式可参考工程四中的义务创建存储过程方式可参考工程四中的义务4-1步骤步骤(1)、(2),先新,先新建一个查询,然后录入以下命令:建一个查询,然后录入以下命令:CREATE PROCEDURE 入住登记入住登记姓名姓名NVARCHAR(8),性别性别NVARCHAR(4),证件类型证件类型NVARCHAR(

12、20),证件号码证件号码NVARCHAR(20),房号房号NVARCHAR(16),人数人数INT,入住日期入住日期DATETIME项目五 酒店管理系统的开发(实训) ASDECLARE counts NVARCHAR(20)BEGIN TRYBEGIN TRANSELECT counts=COUNT(*) FROM 客人信息表 WHERE 证件号码=证件号码IF counts=0BEGININSERT INTO 客人信息表 VALUES(姓名,性别,证件类型,证件号码)END INSERT INTO 入住信息表(房号,证件号码,人数,入住日期) VALUES(房号, 证件号码,人数,入住日期

13、)项目五 酒店管理系统的开发(实训) COMMIT TRANEND TRYBEGIN CATCH IF trancount 0BEGINROLLBACK TRANEND END CATCH创建存储过程的命令执行胜利后,用以下命令执行存储过程,实验存储过程的功能。exec 入住登记 姓名=张扬, 性别=女 ,证件类型=军官证, 证件号码=12345678,房号=A103, 人数=2, 入住日期=2019-12-1执行结果如图5-16所示。项目五 酒店管理系统的开发(实训) 图5-16 提示音讯 项目五 酒店管理系统的开发(实训) 义务义务5-3 创建酒店管理运用程序创建酒店管理运用程序义务分析义

14、务分析酒店管理运用程序是为了方便用户对酒酒店管理运用程序是为了方便用户对酒店管理数据库的操作而开发的前台运用程序。店管理数据库的操作而开发的前台运用程序。经过前台运用程序,可以对数据库进展便利经过前台运用程序,可以对数据库进展便利的增、删、改和查询操作,并且不要求用户的增、删、改和查询操作,并且不要求用户了解数据库的知识和运用技艺。这里我们选了解数据库的知识和运用技艺。这里我们选用微软公司的用微软公司的Visual Studio 2019(简写为简写为VS 2019)作为开发工具,开发言语运用作为开发工具,开发言语运用VB。步骤步骤(1) 启动启动Visual Studio 2019。选择开场

15、。选择开场程序程序Microsoft Visual Studio 2019,即可,即可翻开翻开VS 2019开发环境,如图开发环境,如图5-17所示。在所示。在D盘上创建一个文件夹,命名为盘上创建一个文件夹,命名为“酒店管理系酒店管理系统。统。项目五 酒店管理系统的开发(实训) 图5-17 VS 2019开发环境 项目五 酒店管理系统的开发(实训) (2) 新建工程。选择“文件菜单新建工程,翻开如图5-18所示对话框。设置工程称号为“酒店管理,位置选择步骤(1)中文件夹所建的位置,点击“确定按钮。(3) 为工程添加数据源。选择“数据“添加新数据源,翻开如图5-19所示页面。选中“数据库,点击“

16、下一步(N)按钮,将弹出“数据源配置导游页面,然后点击“新建衔接(C)按钮,如图5-20所示。项目五 酒店管理系统的开发(实训) 图5-18 新建工程 项目五 酒店管理系统的开发(实训) 图5-19 数据源配置导游 项目五 酒店管理系统的开发(实训) 图5-20 选择数据衔接 项目五 酒店管理系统的开发(实训) (4) 在弹出的“添加衔接对话框中进展设置。“效力器名可选择下拉列表中的效力器名,或输入本机IP,如图5-21所示。“登录到效力器选择“运用SQL Server身份认证(Q)。输入相运用户名和密码(SQL Server安装时设定的)。选择“酒店管理数据库,点击“测试衔接(T)选项,衔接

17、胜利后点击“确定按钮。(5) 能够会出现如图5-22所示的讯问页面,选择“是,在衔接字符串中包含敏感数据(I)。栏,再点击“下一步(N)按钮。项目五 酒店管理系统的开发(实训) 图5-21 添加衔接 项目五 酒店管理系统的开发(实训) 图5-22 能否包含敏感数据 项目五 酒店管理系统的开发(实训) 图5-23 能否保管衔接到配置文件 (6) 翻开数据源配置导游界面,选择“是,将衔接保管为(Y):栏,如图5-23所示。再点击“下一步按钮。项目五 酒店管理系统的开发(实训) (7) 在列出的数据库对象中选择“房间类型表的“房间类型字段和“证件类型表的“证件类型字段,完成数据源的添加,如图5-24

18、所示。(8) 创建第一个表单。创建好工程后进入开发环境,在右侧的处理方案资源管理器中,选中“酒店管理系统,单击右键后在出现的快捷菜单中选择“添加“新建项,将弹出“添加新项酒店管理对话框。“类别选择“Windows Forms,模板选择“关于框,称号设置为“欢迎.vb,如图5-25所示。项目五 酒店管理系统的开发(实训) 图5-24 选择数据库对象项目五 酒店管理系统的开发(实训) 图5-25 添加新项 项目五 酒店管理系统的开发(实训) (9) 点击“添加按钮,VS 2019会自动创建一个“关于的窗体。将窗体上Name属性为“LabelProductName的标签的Text属性设置为“小型酒店

19、管理系统;将“LabelVersion 标签的Text属性设置为“V1.0;将“LabelCopyright标签的Text属性设置为“Copyrightszitu;将“LabelCompanyName标签的Text属性设置为“苏州信息职业技术学院计算机科学与技术系;将“TextBoxDescription的文本框控件的Text属性设置为“欢迎光临XXX酒店。展开Font属性,其中的Name属性选择“华文隶书,Size属性设置为20。完成后的效果如图5-26所示。项目五 酒店管理系统的开发(实训) 图5-26 完效果果 项目五 酒店管理系统的开发(实训) (10) 双击窗体空白处,进入命令窗口,

20、删除“欢迎_Load事件下的一切命令。封锁命令窗口,保管并运转欢迎窗体。项目五 酒店管理系统的开发(实训) 义务义务5-4 创建主界面窗体创建主界面窗体义务分析义务分析 主界面是进入系统后的第二个界面,在主界面是进入系统后的第二个界面,在这个界面上,可以看到本系统的一切菜单,这个界面上,可以看到本系统的一切菜单,选择某一菜单即可进入详细的功能。选择某一菜单即可进入详细的功能。步骤步骤(1) 新建窗体。新建一个窗体,类型选新建窗体。新建一个窗体,类型选择择“Windows Forms,模板选择,模板选择“Windows窗体,如图窗体,如图5-27所示。称号设置为所示。称号设置为“首页首页.vb,

21、点击,点击“添加添加(A)按钮。按钮。项目五 酒店管理系统的开发(实训) 图5-27 添加新项 项目五 酒店管理系统的开发(实训) (2) 进入首页窗体的设计视图后,在上侧处理方案资源管理器中,选中“酒店管理工程,单击右键,选择“属性。在弹出的属性对话页中,“启动窗体一项选择“首页,如图5-28所示。保管后封锁属性页。(3) 创建菜单。在VS 2019主界面左侧工具箱中展开“菜单和工具栏,拖曳MenuStrip至首页窗体上,如图5-29所示。项目五 酒店管理系统的开发(实训) 图5-28 属性页 项目五 酒店管理系统的开发(实训) 图5-29 创建菜单 项目五 酒店管理系统的开发(实训) 图5

22、-30 客房效力菜单 (4) 键入第一个主菜单称号“客房效力,在其下分别键入两个子菜单“入住登记和“退房登记,如图5-30所示。项目五 酒店管理系统的开发(实训) 图5-31 客房管理菜单 (5) 按同样方法输入“客房管理及其子菜单,如图5-31所示,以及“客人信息管理及其子菜单,如图5-32所示。项目五 酒店管理系统的开发(实训) 图5-32 客人信息管理菜单 项目五 酒店管理系统的开发(实训) 图5-33 退出菜单 (6) 键入“退出菜单,如图5-33所示。项目五 酒店管理系统的开发(实训) (7) 双击页面空白处,进入命令页。在首页_Load事件中添加如下命令:Private Sub 首

23、页_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 欢迎.ShowDialog() 加载入住登记窗体 End Sub(8) 回到首页的设计页,双击“入住登记菜单,进入入住登记菜单的命令框架,添加以下命令中所圈出的一行命令,其功能为单击“入住登记菜单,翻开入住登记的窗体界面:项目五 酒店管理系统的开发(实训) 义务义务5-5 创建入住登记窗体创建入住登记窗体义务分析义务分析 入住登记窗体具有完成填写客人信息、入住登记窗体具有完成填写客人信息、选择房间入住的功能。客人如曾经入住

24、过该选择房间入住的功能。客人如曾经入住过该酒店,那么可以经过姓名查找到信息,否那酒店,那么可以经过姓名查找到信息,否那么需填写性别、身份证等信息。选择房间类么需填写性别、身份证等信息。选择房间类型后,相应类型的房间出如今房间号列表中型后,相应类型的房间出如今房间号列表中供客人选择,并显示房间的价钱。确定后,供客人选择,并显示房间的价钱。确定后,将入住信息添加到数据库中。将入住信息添加到数据库中。步骤步骤(1) 新建一个窗体,命名为新建一个窗体,命名为“入住登记入住登记,窗体界面规划如图,窗体界面规划如图5-34所示。窗体中各所示。窗体中各控件的阐明见表控件的阐明见表5-1。项目五 酒店管理系统

25、的开发(实训) 图5-34 入住登记窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) (2) 给cbType(证件类型组合框)、cbRoomType(房间类型组合框)绑定数据源。在工具箱中展开“数据栏,拖曳一个BindSource控件至窗体上。查看属性面板, BindingSource1的DataSource属性选择“其他数据源“工程数据源“酒店管理DataSet。DataMember属性选择“证件类型表,如图5-35所示。(3) 在窗体上,选中“cbType,单击右上方的按钮,展开菜单,“数据源选择“BindingSource1,“显示成员选择“证件类型,“值成员

26、选择“证件类型,如图5-36所示。项目五 酒店管理系统的开发(实训) 图5-35 BindingSource1绑定数据源 项目五 酒店管理系统的开发(实训) 图5-36 cbType组合框绑定数据源 项目五 酒店管理系统的开发(实训) 图5-37 cbRoomType绑定数据源 (4) cbRoomType房间类型组合框的数据绑定方法同上,参照图5-37进展操作。项目五 酒店管理系统的开发(实训) 图5-38 BindingSource2 绑定数据源 (5) 添加BindingSource控件并设置其属性,如图5-38所示。项目五 酒店管理系统的开发(实训) (6) 添加援用。在窗体空白处双击

27、,进入命令页,在命令最上方添加对SQL称号控件的援用:Imports System.Data.SqlClientPublic Class 入住登记(7) 定义公共变量。主要包括大部分事件都需求运用到的数据库衔接对象、数据适配器和数据集。Public Class 入住登记 定义数据库衔接 Dim conn As New SqlConnection(“Data Source=127.0.0.1; Initial Catalog=酒店管理; user id=sa; password=123;) 定义数据适配器 Dim da As SqlDataAdapter = New SqlDataAdapter

28、() 定义数据集 Dim ds As DataSet = New DataSet()项目五 酒店管理系统的开发(实训) (8) 添加按姓名查找客人信息的命令。思索到能够有同名的客人存在,在输入姓名后,先将查找的证件号码添加到证件号码组合框中(能够有多个),如在其中有当前客人的信息,那么可以选择该证件号码,同时,自动更正性别和证件类型。命令主要分两部分。第一部分写在txtName(姓名文本框)的Leave事件中。在入住登记窗体的设计页选中“txtName,在属性窗口中单击按钮查看txtName的一切事件。双击“Leave事件,进入txtName_Leave事件的命令框架,添加如下命令:项目五 酒

29、店管理系统的开发(实训) Private Sub txtName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.Leave 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn da.SelectCommandmandText = select 证件号码 from 客人信息表 where 姓名= + Trim(txtName.Text) + 翻开数据库衔接 conn.Open(

30、)填充DataSet对象 da.Fill(ds, 0)清空证件号码组合框下的列表项 cbNumber.Items.Clear() Dim i As Integer = 0项目五 酒店管理系统的开发(实训) 将查询到的证件号码添加到组合框的列表中 Do While i 0 Then If ds.Tables(0).Rows(0).Item(性别) = 男 Then rbMale.Checked = True rbFemale.Checked = False Else rbMale.Checked = False rbFemale.Checked = True End If cbType.Sele

31、ctedItem = ds.Tables(0).Rows(0).Item(证件类型).ToString End If清空数据集 ds.Clear()封锁数据库衔接 conn.Close() End Sub项目五 酒店管理系统的开发(实训) (9) 添加房间类型和房间号级联的命令。中选择了某一种房间类型后,房间号组合框中仅出现该类型的一切空闲房间。在cbRoomType(房间类型组合框)的SelectedIndexChanged事件下编写如下命令: Private Sub cbRoomType_SelectedIndexChanged(ByVal sender As System.Object,

32、 ByVal e As System.EventArgs) Handles cbRoomType.SelectedIndexChanged 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn da.SelectCommandmandText=select 房号 from 房间表 where 类型= +cbRoomType.Text+ and 形状=空闲项目五 酒店管理系统的开发(实训) 翻开数据库衔接 conn.Open() 填充DataSet对象 da.Fill(ds, 0) 清空房间号组

33、合框下的列表项 cbRoom.Items.Clear() 将查询到的房间号添加到cbRoom的列表下 Dim i As Integer = 0 Do While i ds.Tables(0).Rows.Count cbRoom.Items.Add(ds.Tables(0).Rows(i).Item(房号) i = i + 1 Loop 清空数据集 ds.Clear() conn.Close() End Sub项目五 酒店管理系统的开发(实训) (10) 添加级联显示可选人数和房价的命令。中选择了房间后,会在lblPrice(房价标签)中显示此房间的价钱。假设选择的是单人房, 那么人数只能为1;

34、 其他房型, 人数可为1或2。 Private Sub cbRoom_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbRoom. SelectedIndexChanged lblPrice.Text = “房价: 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn da.SelectCommandmandText = “select 房价,类型 from 房间

35、表 where 房号= + cbRoom.Text + “ 翻开数据库衔接项目五 酒店管理系统的开发(实训) conn.Open() 填充DataSet对象 da.Fill(ds, 0) 定义变量price取选中房间的房价,定义变量type取选中房间的类型 Dim price As String = ds.Tables(0).Rows(0).Item(房价).ToString Dim type As String = ds.Tables(0).Rows(0).Item(类型).ToString 清空人数组合框中的列表项 cbCount.Items.Clear() 根据房间类型给人数组合框添加列

36、表项 If type = 单人房 Then cbCount.Items.Add(1) Else cbCount.Items.Add(1) cbCount.Items.Add(2) End If项目五 酒店管理系统的开发(实训) 显示房价 lblPrice.Text += price 清空数据集 ds.Clear() 封锁数据库衔接 conn.Close()End Sub项目五 酒店管理系统的开发(实训) (11) 添加“确定按钮命令。“确定按钮的功能为向数据库添参与住信息。由于已在数据库中创建了名为“入住登记的存储过程,因此在这里,只需调用该存储过程即可实现该功能。双击“确定按钮,进入btnO

37、K_Click事件框架,编写命令如下: Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click 定义变量读取入住登记信息(姓名,性别,证件类型,证件号码,房号,人数,入住日期) Dim name As String = txtName.Text Dim sex As String Dim type As String = cbType.Text Dim number As String = cbNumber.Text项目五 酒店管理系统的开发(

38、实训) Dim room As String = cbRoom.Text Dim count As Integer = Val(cbCount.Text) Dim in_date As Date = Now.Date 判别性别 If rbMale.Checked = True Then sex = “男 Else sex = 女 End If 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn 指定命令类型为存储过程项目五 酒店管理系统的开发(实训) da.SelectCommandmand

39、Type = CommandType.StoredProcedure 指定存储过程名为“入住登记 da.SelectCommandmandText = 入住登记 指定存储过程参数值 da.SelectCommand.Parameters.Add(姓名, SqlDbType.VarChar, 8).Value = name da.SelectCommand.Parameters.Add(性别, SqlDbType.VarChar, 4).Value = sex da.SelectCommand.Parameters.Add(证件类型, SqlDbType.VarChar, 20).Value =

40、 type da.SelectCommand.Parameters.Add(证件号码, SqlDbType.VarChar, 20).Value = number da.SelectCommand.Parameters.Add(房号, SqlDbType.VarChar, 16).Value = room da.SelectCommand.Parameters.Add(人数, SqlDbType.Int).Value = count项目五 酒店管理系统的开发(实训) da.SelectCommand.Parameters.Add(“入住日期, SqlDbType. DateTime). Val

41、ue = in_date 填充数据集 Try da.Fill(ds) MsgBox(“入住登记完成,您的房间号为 + room) Catch ex As Exception MsgBox(ex) End Try 清空数据集 ds.Clear() 清空各输入项 txtName.Text = cbNumber.Items.Clear()项目五 酒店管理系统的开发(实训) cbNumber.Text = “ cbRoom.Items.Clear() cbRoom.Text = “ cbCount.Items.Clear() cbCount.Text = “End Sub(12) 添加“封锁按钮事件命

42、令:Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub项目五 酒店管理系统的开发(实训) (13) 将启动窗体设置为“入住登记,运转,测试入住登记的功能。这时需输入姓名,选择性别、证件类型,输入证件号码,选择房间类型、房间号、人数,房价将会自动显示,如图5-39所示。项目五 酒店管理系统的开发(实训) 图5-39 入住登记窗体运转 项目五 酒店管理系统的开发(实训) 图5-40 提示信息

43、 (14) 点击“确定按钮,提示入住登记完成,并提示房间号,如图5-40所示。项目五 酒店管理系统的开发(实训) 图5-41 老用户登记 (15) 点击“确定按钮,会自动清空输入项,方便填写下一个入住信息。此时假设输入一个入住过的客人姓名,那么会在证件号码列表中出现该客人的身份证号码,方便用户输入,如图5-41所示。项目五 酒店管理系统的开发(实训) 义务义务5-6 创建退房登记窗体创建退房登记窗体义务分析义务分析退房登记窗体主要完成退房功能。选择退房登记窗体主要完成退房功能。选择要退房的房间号,可显示当前房间的类型、要退房的房间号,可显示当前房间的类型、已住的天数和房费。点击已住的天数和房费

44、。点击“确定按钮退房确定按钮退房后,修正入住信息表,补充该房间的退房日后,修正入住信息表,补充该房间的退房日期和房费信息,并修正房间表中该房间的形期和房费信息,并修正房间表中该房间的形状为状为“空闲。空闲。步骤步骤(1) 新建一个窗体,命名为新建一个窗体,命名为“退房登记退房登记。窗体界面规划如图。窗体界面规划如图5-42所示。窗体中各所示。窗体中各控件的阐明见表控件的阐明见表5-2。项目五 酒店管理系统的开发(实训) 图5-42 退房登记窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) (2) 添加援用。Imports System.Data.SqlClientP

45、ublic Class 退房登记(3) 定义公共变量。Public Class 退房登记 定义数据库衔接 Dim conn As New SqlConnection(“Data Source=127.0.0.1; Initial Catalog=酒店管理; user id=sa; password=123;) 定义数据适配器 Dim comm As SqlCommand = New SqlCommand 定义数据集Dim dr As SqlDataReader项目五 酒店管理系统的开发(实训) 定义入住日期变量 Dim in_date As Date 定义房价变量Dim price As Do

46、uble(4) 编写窗体加载时绑定数据到cbRoom(房间号组合框)的命令。cbRoom中需求绑定一切营业中的房间号供选择,在窗体的Load事件下编写如下命令:Private Sub 退房登记_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 设置查询命令属性 comm.Connection = conn commmandText = “select 房号 from 房间表 where 形状=营业中 conn.Open()项目五 酒店管理系统的开发(实训) 执行查询 dr =

47、 comm.ExecuteReader Dim i As Integer = 0 循环读取查询结果并赋值给cbRoom(房间号组合框) While dr.Read cbRoom.Items.Add(dr(i) End While 封锁数据读取 dr.Close() 封锁数据库衔接 conn.Close()End Sub项目五 酒店管理系统的开发(实训) (5) 编写根据房号显示入住信息的命令。选择房号后,根据房号查询当前房间的类型、入住天数、房价。Private Sub cbRoom_SelectedIndexChanged(ByVal sender As System.Object, ByV

48、al e As System.EventArgs) Handles cbRoom.SelectedIndexChanged 设置提示标签的文本 lblRoomType.Text = “房间类型: lblDay.Text = “入住天数: lblPrice.Text = “房价: 设置查询命令属性 comm.Connection = conn commmandText = “select 类型,入住日期,房价 & _ “from 房间表,入住信息表 & _ “where 房间表.房号=入住信息表.房号 and 房间表.房号= + cbRoom.Text + 项目五 酒店管理系统的开发(实训) 翻

49、开数据库衔接 conn.Open() 执行查询 dr = comm.ExecuteReader 读取查询结果 If dr.Read Then in_date = dr(1).ToString 入住日期 price = dr(2).ToString lblRoomType.Text += dr(0).ToString 房间类型 lblDay.Text += Str(DateDiff(d, in_date, Now.Date) 入住天数=当天日期-入住日期 lblPrice.Text += price.ToString + 元/天* + Str(DateDiff(d, in_date, Now.D

50、ate) 房费=房价*天数 End If dr.Close() conn.Close() End Sub项目五 酒店管理系统的开发(实训) (6) 添加“确定按钮命令。点击“确定按钮即完成退房,之后需求修正入住信息表,补充退房日期和房费。命令如下: Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click price = price * DateDiff(“d, in_date, Now.Date) 设置查询命令属性 comm.Connectio

51、n = conn commmandText = “update 入住信息表 set 退房日期= “ + Now.Date & _ “,房费= + price.ToString & _ where 房号= + cbRoom.Text + 项目五 酒店管理系统的开发(实训) 翻开数据库衔接 conn.Open() 执行查询 Try comm.ExecuteNonQuery() MsgBox(“已退房,请交费 + price.ToString + “元) Catch ex As Exception MsgBox(ex) End Try End Sub(7) 添加“封锁按钮命令:Private Sub

52、 btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub项目五 酒店管理系统的开发(实训) 图5-43 选择房间 (8) 将工程的启动窗体设置为“退房登记并运转,测试退房登记的功能。房间号列表下为一切营业中的房间号,如图5-43所示。项目五 酒店管理系统的开发(实训) 图5-44 显示入住信息 (9) 选择要退房的房间号后,在下方显示房间的入住信息,如图5-44所示。项目五 酒店管理系统的开发(实训) 图5-45

53、退房提示信息 (10) 点击“确定按钮退房后,提示退房胜利,并提示所要支付的费用,如图5-45所示。项目五 酒店管理系统的开发(实训) 义务义务5-7 创建客房信息修正窗体创建客房信息修正窗体义务分析义务分析客房信息修正窗体的功能包括新增客房、客房信息修正窗体的功能包括新增客房、修正已有客房和删除已有客房,但形状为修正已有客房和删除已有客房,但形状为“营业中的客房信息不能被修正和删除。营业中的客房信息不能被修正和删除。步骤步骤(1) 新建一个窗体,命名为新建一个窗体,命名为“客房信息客房信息修正。窗体界面规划如图修正。窗体界面规划如图5-46所示,窗体所示,窗体中各控件的阐明见表中各控件的阐明

54、见表5-3。项目五 酒店管理系统的开发(实训) 图5-46 客房信息修正窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) 图5-47 BindingNavigator义务 (2) 删除导航的添加功能。导航本身具备添加、删除的功能。添加功能经过编写命令来实现,因此需求把导航上的“添加按钮删除。点击导航右上方的“义务按钮,展开义务菜单,单击“编辑项,如图5-47所示。项目五 酒店管理系统的开发(实训) 图5-48 项集合编辑器 在弹出的“项集合编辑器中选中BindingNavigatorAdd NewItem,单击“删除按钮 ,即可将其删除,如图5-48所示。项目五 酒

55、店管理系统的开发(实训) 图5-49 cbRoomType绑定数据源 (3) 为cbRoomType(房间类型组合框)添加数据绑定。添加一个BindingSource控件,其“数据源属性选择“Binding Source1,“显示成员属性选择“房间类型,如图5-49所示。项目五 酒店管理系统的开发(实训) (4) 在命令中援用称号控件和定义公共变量。在窗体空白处双击进入命令框架,编写如下命令:Imports System.Data.SqlClientPublic Class 客房信息修正定义数据库衔接Dim conn As New SqlConnection(“Data Source=127.

56、0.0.1; Initial Catalog=酒店管理; user id=sa; password=123;)定义查询字符串Dim sqlstr As String = “select 房号,类型,房价 from 房间表 where 形状=空闲定义数据适配器Dim da As New SqlDataAdapter(sqlstr, conn)定义数据集Dim ds As New DataSet运用sqlcommandBuilder构造数据适配器Dim build As SqlCommandBuilder = New SqlCommandBuilder(da)项目五 酒店管理系统的开发(实训) (

57、5) 编写窗体加载事件的命令。窗体加载时,绑定导航控件、数据表格控件和房间号文本框等控件,显示房间表中的记录。Private Sub 客房信息修正_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TODO: 这行命令将数据加载到表“酒店管理DataSet.房间类型表中。可以根据需求挪动或移除它。 Me.房间类型表TableAdapter.Fill(Me.酒店管理DataSet.房间类型表) 翻开数据库衔接 conn.Open() 数据适配器da执行查询填充数据集ds da.

58、Fill(ds,“room) 定义ds的主键项目五 酒店管理系统的开发(实训) Dim keys(1) As DataColumn keys(0) = ds.Tables(“room).Columns(“房号) ds.Tables(“room).PrimaryKey = keys 数据绑定dgvRoom和导航 bsRoom.DataSource = ds bsRoom.DataMember = ds.Tables(room).TableName dgvRoom.DataSource = bsRoom bnRoom.BindingSource = bsRoom 数据绑定房间号等控件 txtRoo

59、m.DataBindings.Add(Text, bsRoom,房号) cbRoomType.DataBindings.Add(Text,bsRoom,类型) txtPrice.DataBindings.Add(Text,bsRoom,房价) 设置导航控件中的删除按钮不可用 bnRoom.Items(BindingNavigatorDeleteItem).Visible = False 给导航控件添加自定义的删除按钮 bnRoom.Items.Add(删除, Nothing, AddressOf abc)End Sub项目五 酒店管理系统的开发(实训) (6) 编写“自定义删除按钮的过程命令:

60、自定义删除按钮Private Sub abc(ByVal sender As System.Object, ByVal e As System.EventArgs) If MessageBox.Show(“能否要删除这条记录?, “, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then bnRoom.BindingSource.RemoveCurrent() End IfEnd Sub项目五 酒店管理系统的开发(实训) (7) 编写“添加按钮的单击事件命令。单击“添加按钮后,清空txtRoom、cbRoomType、tx

61、tPrice控件中的内容,按钮的显示文本变成“保管。在txtRoom、cbRoomType、txtPrice中填入内容后,单击“保管按钮,将完成添加一条新记录的功能。Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click If btnAdd.Text = “添加 Then 判别是“添加还是“保管 txtRoom.Enabled = True txtRoom.Text = “ cbRoomType.Text = “ txtPrice.Text

62、 = “ btnAdd.Text = “保管 ElseIf btnAdd.Text = 保管 Then项目五 酒店管理系统的开发(实训) 定义数据行存放要添加的数据 Dim row As DataRow = ds.Tables(“room).NewRow row(“房号) = txtRoom.Text row(“类型) = cbRoomType.Text row(“房价) = txtPrice.Text ds.Tables(“room).Rows.Add(row) 更新数据适配器,将数据插入到数据库 Try da.Update(ds,“room) btnAdd.Text = “添加 MsgBo

63、x(“添加胜利!)da.Fill(ds, room) txtRoom.Enabled = False项目五 酒店管理系统的开发(实训) Catch ex As Exception MsgBox(ex) End Try End IfEnd Sub项目五 酒店管理系统的开发(实训) (8) 编写“修正按钮单击事件命令。修正了某一条记录后,单击“修正按钮,将把对该条数据的更新内容写入数据库,同时刷新数据表格,即可显示更新后的数据。Private Sub txtUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs

64、) Handles txtUpdate.Click 取当前数据的行号 Dim I As Integer = dgvRoom.CurrentRow.Index 定义数据行指向当前记录 Dim row As DataRow row = ds.Tables(“room).Rows(i) 更新当前记录 row.BeginEdit() row(“类型) = cbRoomType.Text row(“房价) = txtPrice.Text row.EndEdit() 更新数据适配器,将数据更新至数据库 Try项目五 酒店管理系统的开发(实训) da.Update(ds,“room) MsgBox(“修正胜

65、利!) dgvRoom.Refresh() Catch ex As Exception MsgBox(ex) End Try End Sub(9) 添加“封锁按钮的单击事件命令。在封锁窗体的同时,也要把在窗体加载事件中翻开的数据库衔接封锁。Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click conn.Close() Me.Close()End Sub项目五 酒店管理系统的开发(实训) (10) 将工程的启动窗体设置为“客房信

66、息修正并运转,测试客房信息修正的功能,如图5-50所示。数据表格中显示空闲的房间信息,经过导航可查看每一条记录,此时房号文本框、房间类型组合框、房价文本框也跟随导航显示每一条记录的信息,同时房间号作为房间表的主键是不可编辑形状,以防止误操作。(11) 点击“添加按钮,房间号文本框即可编辑,输入要添加的房间信息,点击“保管按钮,提示新房间添加胜利,如图5-51所示。而且可以在数据表格中查看到新添加的记录,如图5-52所示。项目五 酒店管理系统的开发(实训) 图5-50 客房信息修正窗体运转 项目五 酒店管理系统的开发(实训) 图5-51 提示 项目五 酒店管理系统的开发(实训) 图5-52 添加

67、新记录 项目五 酒店管理系统的开发(实训) 图5-53 修正客房信息 (12) 选中一条要修正的记录,更改其房间类型或房价后,点击“修正按钮,提示修正胜利,并可以在数据表格中显示更新后的数据,如图5-53所示。项目五 酒店管理系统的开发(实训) 义务义务5-8 创建客房查询窗体创建客房查询窗体义务分析义务分析客房查询窗体的功能主要是让用户可以客房查询窗体的功能主要是让用户可以根据房间类型、房间号、房间形状来查询房根据房间类型、房间号、房间形状来查询房间的信息。例如:查询营业中的房号以间的信息。例如:查询营业中的房号以A开开头的单人房。本窗体对数据库的操作根本是头的单人房。本窗体对数据库的操作根

68、本是查询操作。查询操作。项目五 酒店管理系统的开发(实训) 步骤(1) 新建一个窗体,命名为“客房查询。窗体界面规划如图5-54所示,窗体中各控件的阐明见表5-4。(2) 给cbRoomType(房间类型组合框)绑定数据源,过程略(参考义务5-5步骤(2)。(3) 给cbStatus(形状组合框)添加静态项。选中“cbStatus,查看属性。点击items属性旁按钮,在字符串集合编辑器中输入“空闲、“营业中两项。如图5-55所示。项目五 酒店管理系统的开发(实训) 图5-54 客房查询窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) 图5-55 字符串集合编辑器 项

69、目五 酒店管理系统的开发(实训) (4) 在命令中援用称号控件和定义公共变量。在窗体空白处双击进入命令窗口。Imports System.Data.SqlClientPublic Class 客房查询 定义数据库衔接 Dim conn As New SqlConnection(“Data Source=127.0.0.1; Initial Catalog=酒店管理; user id=sa; password=123;) 定义数据适配器 Dim da As SqlDataAdapter = New SqlDataAdapter() 定义数据集 Dim ds As DataSet = New Da

70、taSet()项目五 酒店管理系统的开发(实训) (5) 添加窗体加载的事件命令。窗体加载时,在数据表格控件中显示一切的房间信息。命令如下:Private Sub 客房查询_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TODO: 这行命令将数据加载到表“酒店管理DataSet.房间类型表中。您可以根据需求挪动或删除它。 Me.房间类型表TableAdapter.Fill(Me.酒店管理DataSet.房间类型表) 设置查询命令属性 da.SelectCommand =

71、New SqlCommand da.SelectCommand.Connection = conn da.SelectCommandmandText = “select * from 房间表 翻开数据库衔接 conn.Open()项目五 酒店管理系统的开发(实训) 填充DataSet对象 da.Fill(ds, room) 绑定数据表格显示用户表信息 dgvRoom.DataSource = ds dgvRoom.DataMember = ds.Tables(room).TableName conn.Close()End Sub项目五 酒店管理系统的开发(实训) (6) 添加“查询按钮单击事件

72、的命令。单击“查询按钮,可以根据输入的房间号,选择的房间类型、形状来查询房间表,并将查询结果显示在数据表格中。Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn 多条结合查询语句,where条件匹配采用模糊查询的方法 da.SelectCommandmandText = “s

73、elect * from 房间表 where 类型 like % + cbRommType.Text & _ % and 房号 like % + txtRoom.Text & _ % and 形状 like % + cbStatus.Text + %项目五 酒店管理系统的开发(实训) Label1.Text = da.SelectCommandmandText conn.Open() 清空数据集 ds.Clear() 填充数据集 da.Fill(ds, room) 重新绑定数据表格显示查询结果 dgvRoom.DataSource = ds dgvRoom.DataMember = ds.Ta

74、bles(room).TableName conn.Close()End Sub项目五 酒店管理系统的开发(实训) 图5-56 客房查询窗体运转 (7) 将工程的启动窗体设为“客房查询,运转窗体,测试查询功能。数据表格中显示一切的客房信息,如图5-56所示。项目五 酒店管理系统的开发(实训) 图5-57 查询结果1 (8) 输入查询条件后,点击查询按钮,可查看到查询结果。查询条件可以只需一个,也可以多个条件结合查询,如图5-57、图5-58所示。项目五 酒店管理系统的开发(实训) 图5-58 查询结果2 项目五 酒店管理系统的开发(实训) 义务义务5-9 创建客人信息修正窗体创建客人信息修正窗

75、体义务分析义务分析 客人信息修正窗体的功能主要是进展客客人信息修正窗体的功能主要是进展客人信息的修正。客人信息的添加会在初次入人信息的修正。客人信息的添加会在初次入住的时候添加住的时候添加(入住登记窗体入住登记窗体),因此不包含,因此不包含在本义务中。由于客人信息和入住信息是相在本义务中。由于客人信息和入住信息是相关的,因此不允许删除客人信息。关的,因此不允许删除客人信息。步骤步骤(1) 新建一个窗体,命名为新建一个窗体,命名为“客人信息客人信息修正,窗体界面规划如图修正,窗体界面规划如图5-59所示,窗体所示,窗体中各控件的阐明见表中各控件的阐明见表5-5。项目五 酒店管理系统的开发(实训)

76、 图5-59 客人信息修正窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) 图5-60 字符串集合编辑器 (2) 给cbSex(性别组合框)添加静态项。选中“cbSex,查看属性。点击items属性旁按钮,在字符串集合编辑器中输入“男、“女两项,如图5-60所示。项目五 酒店管理系统的开发(实训) 图5-61 项集合编辑器 (3) 删除导航中的和按钮。将“BindingNavigatorAdd NewItem和“Binding NavigatorDeleteItem两项都删除,如图5-61所示。项目五 酒店管理系统的开发(实训) (4) 添加援用和公共变量。Impo

77、rts System.Data.SqlClient Public Class 客人信息修正 定义数据库衔接 Dim conn As New SqlConnection(“Data Source=127.0.0.1; Initial Catalog=酒店管理; user id=sa; password=123;) 定义查询字符串 Dim sqlstr As String = “select * from 客人信息表 定义数据适配器 Dim da As New SqlDataAdapter(sqlstr, conn) 定义数据集 Dim ds As New DataSet 运用sqlcommand

78、Builder构造数据适配器 Dim build As SqlCommandBuilder = New SqlCommandBuilder(da)项目五 酒店管理系统的开发(实训) (5) 添加窗体加载的事件命令。窗体加载时,绑定导航控件、数据表格控件和证件号码文本框等控件,显示客人信息表中的记录。Private Sub 客人信息修正_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 翻开数据库衔接 conn.Open() 数据适配器da执行查询填充数据集ds da.Fill

79、(ds, “customer) 定义ds的主键 Dim keys(1) As DataColumn keys(0) = ds.Tables(“customer).Columns(“证件号码) ds.Tables(“customer).PrimaryKey = keys 数据绑定dgvCustomer和导航项目五 酒店管理系统的开发(实训) bsCustomer.DataSource = ds bsCustomer.DataMember = ds.Tables(Customer).TableName dgvCustomer.DataSource = bsCustomer bnCustomer.B

80、indingSource = bsCustomer 数据绑定房间号等控件 txtNumber.DataBindings.Add(Text, bsCustomer, 证件号码) txtName.DataBindings.Add(Text, bsCustomer, 姓名) cbSex.DataBindings.Add(Text, bsCustomer, 性别) End Sub项目五 酒店管理系统的开发(实训) (6) 编写“修正按钮单击事件命令。修正了某一条记录后,单击“修正按钮,将把对该条数据的更新写入数据库,同时刷新数据表格,显示更新后的数据。“证件号码作为主键,不可修正。Private Su

81、b txtUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtUpdate.Click 取当前数据的行号 Dim i As Integer = dgvCustomer.CurrentRow.Index 定义数据行指向当前记录 Dim row As DataRow row = ds.Tables(“Customer).Rows(i) 更新当前记录项目五 酒店管理系统的开发(实训) row.BeginEdit() row(姓名) = txtName.Text row(性别) = cb

82、Sex.Text row.EndEdit() 更新数据适配器,将数据更新至数据库 Try da.Update(ds, customer) MsgBox(修正胜利!) dgvCustomer.Refresh() Catch ex As Exception MsgBox(ex) End TryEnd Sub项目五 酒店管理系统的开发(实训) (7) 添加“封锁按钮的单击事件命令。在封锁窗体的同时,也要把在窗体加载事件中翻开的数据库衔接封锁。Private Sub btnCanel_Click(ByVal sender As System.Object, ByVal e As System.Even

83、tArgs) Handles btnCanel.Click conn.Close() Me.Close()End Sub(8) 将工程的启动窗体设为“客人信息修正,运转窗体,测试查询功能。数据表格中显示一切用户的信息,经过导航可查看每一条记录,如图5-62所示。项目五 酒店管理系统的开发(实训) 图5-62 客人信息修正窗体运转 项目五 酒店管理系统的开发(实训) (9) 选中要修正的记录,更改其姓名或性别后,点击“修正按钮,提示修正胜利,即可在数据表格中看到修正后的记录,如图5-63所示。图5-63 修正客人信息 项目五 酒店管理系统的开发(实训) 义务义务5-10 创建客人信息查询窗体创建

84、客人信息查询窗体义务分析义务分析 客人信息查询窗体的功能是根据姓名或客人信息查询窗体的功能是根据姓名或证件号码查询出客人的姓名、性别以及他在证件号码查询出客人的姓名、性别以及他在本酒店的入住记录。本酒店的入住记录。步骤步骤(1) 新建一个窗体,命名为新建一个窗体,命名为“客人信息客人信息查询,窗体界面规划如图查询,窗体界面规划如图5-64所示,窗体所示,窗体中各控件的阐明见表中各控件的阐明见表5-6。项目五 酒店管理系统的开发(实训) 图5-64 客人信息查询窗体 项目五 酒店管理系统的开发(实训) 项目五 酒店管理系统的开发(实训) (2) 添加援用和公共变量。Imports System.

85、Data.SqlClientPublic Class 客人信息查询 定义数据库衔接 Dim conn As New SqlConnection(Data Source=127.0.01; Initial Catalog=酒店管理; user id=sa; password=123;) 定义数据适配器 Dim da As SqlDataAdapter = New SqlDataAdapter() 定义数据集 Dim ds As DataSet = New DataSet()项目五 酒店管理系统的开发(实训) (3) 编写“查询按钮的单击事件命令。点击“查询按钮,可以根据选择的查询条件和查询关键词

86、查找到相应客人的入住信息。Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click 设置查询命令属性 da.SelectCommand = New SqlCommand da.SelectCommand.Connection = conn 判别查询条件 If rbName.Checked = True Then 根据姓名查询 da.SelectCommandmandText = select 房号,入住日期,退房日期 from 客人信

87、息表,入住信息表 & _项目五 酒店管理系统的开发(实训) where客人信息表.证件号码=入住信息表.证件号码 & _ and 姓名 like % + txtKey.Text + % Else 根据证件号码查询 da.SelectCommandmandText = select房号,入住日期,退房日期 from 客人信息表,入住信息表 & _ where客人信息表.证件号码=入住信息表.证件号码 & _ and客人信息表.证件号码=+txtKey.Text + End If 翻开数据库衔接 ds.Clear() 填充DataSet对象 da.Fill(ds, customer) 绑定数据表格

88、显示查询结果 dgvCustomer.DataSource = ds dgvCustomer.DataMember = ds.Tables(customer).TableNameEnd Sub项目五 酒店管理系统的开发(实训) (4) 编写“封锁按钮单击事件的命令。Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close()End Sub(5) 将工程的启动窗体设为“客人信息查询,运转窗体,测试查询功能。选择“姓

89、名或“证件号码,输入查询关键词,即可查询到相应结果。按“姓名查询,如图5-65所示。项目五 酒店管理系统的开发(实训) 图5-65 查询结果1 项目五 酒店管理系统的开发(实训) 按“证件号码查询,如图5-66所示。图5-66 查询结果2 项目五 酒店管理系统的开发(实训) 义务义务5-11 完成酒店管理系统并发布完成酒店管理系统并发布义务分析义务分析运用程序完成后,可以将数据库迁移到运用程序完成后,可以将数据库迁移到其他目的机器。运用程序经过发布,可以生其他目的机器。运用程序经过发布,可以生成运用程序安装包。在没有成运用程序安装包。在没有VS 2019的环境下的环境下,经过安装包安装到目的机

90、器中,运用程序,经过安装包安装到目的机器中,运用程序也可以正常运转。当然目的效力器必需安装也可以正常运转。当然目的效力器必需安装SQL Server 2019软件。软件。项目五 酒店管理系统的开发(实训) 义务义务1:数据库的分别和附加:数据库的分别和附加义务分析义务分析数据库需求迁移至其他目的机器或数据库效力器,可以数据库需求迁移至其他目的机器或数据库效力器,可以采用数据库备份复原的方式,也可以采用分别和附加的方式。采用数据库备份复原的方式,也可以采用分别和附加的方式。数据库的分别是指将数据库从数据库的分别是指将数据库从SQL Server 2019实例中删除,实例中删除,但要坚持组成该数据

91、库及其中的对象、数据文件和事务日志但要坚持组成该数据库及其中的对象、数据文件和事务日志文件完好无损。而后经过附加将这些数据文件添加到任何文件完好无损。而后经过附加将这些数据文件添加到任何SQL Server 2019实例上,以提供数据支持。数据库的分别实例上,以提供数据支持。数据库的分别和附加是较常用的一种迁移数据库的方法。下面引见数据库和附加是较常用的一种迁移数据库的方法。下面引见数据库的分别和附加的操作方法。的分别和附加的操作方法。项目五 酒店管理系统的开发(实训) 步骤(1) 分别数据库。翻开Microsoft SQL Server Management Studio Express,展

92、开数据库节点,选中“酒店管理数据库。右键点击快捷菜单,选择“义务“分别,翻开“分别数据库对话框,检查要分别的数据库信息,点击“确定按钮,如图5-67所示。此时在数据库节点下就看不到“酒店管理数据库了,意味着已在效力器端删除了“酒店管理数据库的实例,效力器和数据库文件的衔接已断开。(2) 附加数据库。选中数据库节点,鼠标右键点击“快捷菜单,然后点击“附加,将会翻开“附加数据库对话框,如图5-68所示。项目五 酒店管理系统的开发(实训) 图5-67 分别数据库 项目五 酒店管理系统的开发(实训) 图5-68 附加数据库 项目五 酒店管理系统的开发(实训) (3) 点击“添加按钮,翻开“定位数据库文

93、件对话框。选择数据库文件所在位置,选中“酒店管理_Data.MDF文件,点击“确定按钮,如图5-69所示。(4) 确定附加后,在数据库节点下可以看到附加的数据库信息。项目五 酒店管理系统的开发(实训) 图5-69 定位数据库文件 项目五 酒店管理系统的开发(实训) 义务义务2:发布运用程序:发布运用程序义务分析义务分析设计完成的全部程序文件,假设要可以安装在客户的机器设计完成的全部程序文件,假设要可以安装在客户的机器上正常运转,需求生成工程的可执行文件,也就是安装文件。上正常运转,需求生成工程的可执行文件,也就是安装文件。用户只需运转安装文件,就可以在机器上自动生成用户只需运转安装文件,就可以

94、在机器上自动生成“酒店管理酒店管理系统的运用程序。系统的运用程序。步骤步骤(1) 将工程的启动窗体设置为将工程的启动窗体设置为“首页。首页。(2) 在在D盘上创建一个文件夹,命名为盘上创建一个文件夹,命名为“程序发布。选程序发布。选择择“生成菜单生成菜单“清理处理方案。清理处理方案。(3) 选择选择“生成生成“发布酒店管理,弹出如图发布酒店管理,弹出如图5-70对话对话框,框,“指定发布此运用程序的位置选择步骤指定发布此运用程序的位置选择步骤()中建立的文中建立的文件夹,点击件夹,点击“下一步按钮。下一步按钮。项目五 酒店管理系统的开发(实训) 图5-70 发布运用程序位置 项目五 酒店管理系

95、统的开发(实训) (4) 安装运用程序。选择“从CD-ROM 或 DVD-ROM(C)一栏,如图5-71所示,点击“下一步按钮。图5-71 如何安装运用程序 项目五 酒店管理系统的开发(实训) (5) 运用程序检查更新。选择“该运用程序将不检查更新(H)一栏,如图5-72所示,点击“下一步按钮。图5-72 能否检查更新 项目五 酒店管理系统的开发(实训) (6) 界面将会弹出提示信息“发布预备就绪,如图5-73所示,点击“完成按钮。图5-73 发布预备就绪 项目五 酒店管理系统的开发(实训) (7) VS 2019将为酒店管理系统在程序发布文件夹中生成以下内容,如图5-74所示。图5-74 发布后生成的内容 项目五 酒店管理系统的开发(实训) (8) 双击“setup.exe图标,即可将酒店管理系统安装至所在电脑上。能够会出现平安警告信息提示,如图5-75所示。(9) 安装完成后,即可选择在“开场“程序中运转该酒店管理系统了。项目五 酒店管理系统的开发(实训) 图5-75 平安警告

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号