
3.6 客房预订模块设计

视频讲解
3.6.1 客房预订模块概述
住宿管理模块包括客房预订、住宿登记、追加押金、调房登记、退宿结账等功能子模块。下面详细介绍客房预订子模块的设计。客房预订模块用于实现客房预订的功能,主要登记用户的姓名、证件、证件号码和预住日期等信息,是为预订客户提供服务的模块。其运行界面如图3.3所示。
3.6.2 客房预订模块技术分析
客房预订模块实现将预订客房信息插入到数据表中,主要是通过打开记录集,然后使用AddNew方法向数据表中插入一个新记录来实现对客房预订信息的添加。AddNew方法用于向记录集中添加一个空行,然后设置这个空行的每个字段值,从而能够实现将一条记录添加到数据表中。
3.6.3 客房预订模块实现过程
本模块使用的数据表:kfyd
(1)选择Insert→Resource命令打开添加资源界面,选择Dialog选项,单击New按钮,插入新的对话框。
(2)利用类向导为此对话框资源设置属性。在Name文本框中输入对话框类名,如CRoomprebookdlg,在Base class下拉列表框中选择一个基类,这里为CDialog,单击OK按钮创建对话框。
(3)在工作区的资源视图中选择新创建的对话框,向对话框中添加静态文本、下拉列表框、编辑框、按钮和日期选择控件等资源。
各个主要控件的ID和属性设置如表3.4所示。
表3.4 主要控件的ID和属性设置

(4)在其对应的头文件Roomprebookdlg.h中添加以下声明代码:

如果确定预订客房,单击“确定”按钮向数据库中插入预订记录,其响应函数如下:



代码贴士
❶ GetCurrentTime函数:此成员函数返回一个代表当前时间的CTime对象。
❷ GetYear函数:此成员函数根据本地时间返回范围在1970年1月1日~2038年1月18日之间的年份。
在预定房间时,需要选择一个房间的类型,实现的具体代码如下:

如果顾客想在入住之前换房间,就需要重新修改预订信息,实现这个功能的代码如下:

