客房预订业务的特点是顾客流动性大,其用户注册方式更为灵活,预订业务除了常用的验证外,还要防止在预订满的情况下继续预订客房。本实例将为读者介绍如何实现客房预订业务。 效果说明 图 96-1 所示是预订业务的基本界面,用户可以直接登录或注册并预订客房。 创作构思 通过程序检测用户是否成功登录,登录错误的是否能够注册成功,并添加用户的预订资料。通过“ DataTime ”类下的“ Compare ”,将用户预订的时间与其他用户已预订的时间进行比较,以检测是否预订满。 操作步骤 步骤一 设置应用程序的环境 ( 1 )复制光盘中实例 96 的内容。将“光盘 \ 源文件 \ 实例 96 ” 目录下的所有文件复制到“ C:\ Inetpub\wwwroot\ ”目录下。在 IIS 服务器中设置默认网站的主目录为“ C:\ Inetpub\wwwroot\hotel ”(可参考实例 1 中的相关方法)。在 Dreamweaver 中新建站点“ hotel ”,其站点目录为“ C:\ Inetpub\wwwroot\hotel ”,建立站点的方法可参照实例 2 。 ( 2 )“ hotel.mdb ”结构。运行 Access ,打开“ C:\ Inetpub\wwwroot\adweb\data\hotel.mdb ”,可以看到数据库“ hotel.mdb ”中有“ tbOder ”、“ tbUser ”和“ tbRoom ” 3 个数据表。“ tbOder ”表用于存储用户订房的相关资料,该表的数据结构如图 96-2 所示。“ tbUser ”表用于存储用户的注册信息,该表的数据结构如图 96-3 所示。“ tbRoom ”表用于存储酒店各类客房的价格及相应的客房数,该表的数据结构如图 96-4 所示。数据库“ hotel.mdb ”中还有一个查询表“ UserOrder ”,该查询表在设计视图中的设置如图 96-5 所示。 ( 3 )建立数据库链接“ ADconn ”,链接数据库“ C:\ Inetpub\wwwroot\adweb \data\hotel.mdb ”,方法可参考实例 75 。 步骤二 设计基本页面 ( 1 )“ index.aspx ”页面结构。打开“ index.aspx ”,该页面是素材直接提供的,初始打开时如图 96-6 所示。图中①、②所示是图像而不是图像按钮,圆角方框①所示的图像其作用是添加“ OnClick ”动作以显示“ Layer1 ”层,该层中添加了一个日历控件,其 ID 为“ MyCalendar1 ”;圆角方框②所示图像的作用是添加“ OnClick ”动作以显示“ Layer2 ”层,该层中添加了一个日历控件,其 ID 为“ MyCalendar2 ”。 提示:“ index.aspx ”初始页面中其他控件的设置情况如表 96-1 所示。 表 96-1 “ index.aspx ”初始页面中其他控件的设置情况 控件对应文本 | 控件类型 | 控件 ID | 入住时间 | asp :文本框 | StartTime | 离店时间 | asp :文本框 | LastTime | 预订数量 | asp :文本框 | OrderNum | 会员 ID | asp :文本框 | UserID1 | 会员密码 | asp :文本框 | UserPass1 | 注册 ID | asp :文本框 | UserID | 真实姓名 | asp :文本框 | UseName | 登录密码 | asp :文本框 | UserPass | 重复密码 | asp :文本框 | UserPass2 | 电子邮件 | asp :文本框 | UserEmail | 联系电话 | asp :文本框 | UserTel | 【现在预订】按钮 | asp :按钮 | Orderbt | 【全部重置】按钮 | 表单按钮 | Submit (其动作为重置表单) | |