




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕 业 设 计 民宿预定系统的设计与实现 学生姓名 _ 学 院 _ 专 业 _ 班 级 _ 学 号 _ 2016 年 5 月 16 日盐城师范学院毕业设计民宿预定系统的设计与实现摘 要近年来,民宿凭借其接地气、特色化、具有家庭氛围等优势,逐步发展成为一种住店潮流。然而,伴随着社会信息化的发展,民宿只有走上网络化、智能化的发展之路,才能满足人们对高标准、高质量和个性化服务的追求。因此,民宿预定系统的开发有着广泛的应用前景。本系统基于ASP.NET平台开发完成,整个系统包含了前台和后台两大部分功能模块。前台主要实现了民宿的介绍和住店信息的发布,并提供顾客进行个人账号注册、房间预定等操作。后台则实
2、现了管理员对民宿信息有效便捷的管理。本论文讲述了民宿预定系统的开发使用背景和意义,并从系统分析着手,逐步完善系统的设计,最后用代码实现整个系统的开发。该系统操作简洁,功能全面,界面实用,值得推广使用。【关键词】民宿预订;信息管理;ASP.NET C#;SQL Server盐城师范学院毕业设计The Design and Implementation ofthe B&B Booking SystemAbstractIn recent years, B & B has become a trend by virtue of its down to earth、Characteristic, has
3、 the family atmosphere and other advantages. However, with the development of information society, B & B only take the road of the development of networking and intelligent, in order to meet peoples pursuit of high standard, high quality and personalized service. Therefore, the development of B & B
4、booking system has a broad application prospect.The system is based on the development of ASP.NET platform, the entire system includes two parts of the front and back parts of the function module. Front is provide for introduced and B & B information release, and provide customers with personal acco
5、unt registration, room reservations and other operations.The background is provide to the administrator with the effective and convenient management information.This paper describes the background and significance of the development of the use of B & B reservation system, and proceed from system ana
6、lysis, design and gradually improve the system, and finally the code to complete the development of the entire system. The system is simple to operate, fully functional, practical interface, should be introduced.【Key words】B & B Reservation,information management,ASP.NET C#, SQL Server目 录 TOC o 1-3
7、h z u HYPERLINK l _Toc15661 1 绪论 页 ,共 34 页1 绪论所谓民宿通常指的是自用住宅空闲房间,结合当地人文、自然景观、生态、环境资源等方面资源,以家庭副业方式经营,提供旅客居住生活的方式 REF _Ref19285 r h 1。近年来,民宿凭借其接地气、特色化、具有家庭氛围等优势,逐步发展成为一种住店潮流,深受国内外旅行者的喜爱 REF _Ref12284 r h 2。而民宿的管理和服务水平的高低将直接影响到民宿的形象和声誉。伴随社会信息化脚步的发展,民宿服务只有走上网络化、智能化的发展之路,才能更好的满足人们对高标准、高质量和个性化服务的追求,因此,民宿预定
8、系统的开发拥有着广泛的应用前景 REF _Ref13101 r h 3。民宿预定系统将基于ASP.NET平台开发完成 REF _Ref29451 r h 4,在很好的将前台提供给顾客使用的同时,也使得民宿管理员可以有序、便捷的管理各项民宿相关数据,并可随时进行民宿信息的更新,使整个系统达到满足民宿便捷有效的管理需求。此系统结合当今酒店管理行业的发展潮流,实现了管理者根据自己所需自由便捷的对相关信息进行增、删、改、查等相应操作的功能要求 REF _Ref19135 r h 5,做到以民宿管理者便捷管理为着想点,实现系统的实用性。2 系统分析2.1系统需求分析系统开发之前,先要充分了解和熟悉有关民
9、宿相关的信息,并区分其与一般旅馆的区别和其存在的特点,充分了解民宿管理系统中的所需功能项,从而使开发设计的系统可以全面便捷的概括所需的操作,以达到满足使用者的需求。2.1.1系统功能需求分析根据系统服务对象的不同,系统可分为前台和后台两大功能模块 REF _Ref30803 r h 6。前台旨在提供顾客浏览民宿相关信息、房间预订、账号注册、信息留言等操作。后台旨在提供管理员进行信息管理。具体的功能需求有以下几个方面。房间预订:顾客可通过账号注册登录或不注册登录账号直接预订两种方式进行房间的预订,并生成预定记录 REF _Ref30127 r h 7。顾客账号注册:提供顾客进行个人会员账号的注册
10、功能。注册成功以后,成为会员顾客,享受相应优惠。留言:处于登录或非登录状态下的顾客都可通过留言模块给管理员进行信息留言,并生成留言记录。顾客登录:顾客登录后可进行查询并修改部分个人信息,查看个人消费记录,预订房间信息,留言等操作,并享有一定的入住优惠。后台管理功能:系统后台管理员角色分为职员和超级管理员。普通职员登录后可进行房间,顾客信息的简单化管理,也可以根据个人所需进行个人信息的修改。超级管理员拥有一切信息管理权力,包括增、改职员用户信息等。同时拥有管理顾客的账号的权限,并可对顾客留言信息进行查看和回复 REF _Ref20863 r h 8。2.1.2系统性能需求分析作为住店潮流新生势力
11、,民宿预定系统在着重体现自己特色化家庭式住宿环境的同时也要做到能够快速增、删、改、查各类信息,以达到在第一时间更新住店信息的目的。在性能方面具体要求如下:(1)易操作性系统整体操作简单,操作方式与大部分酒店管理系统相似,操作简单明了,界面干净整洁,提示分明。(2)易维护性系统源代码采用分层编写方式,说明标准清晰,确保系统的独立性,便于维护方进行修改。高安全性系统各个操作角色权限分明,账号密码通过加密保护 REF _Ref20863 r h 9。(4)稳定性系统后台界面能够快速响应用户操作,运行稳定。2.1.3开发环境需求分析(1)网站开发环境操作系统:Win 7.开发平台:ASP.NET.开发
12、语言:C#、Javascript.开发工具:Visual Studio 2012和SQL Server Management Studio.(2)服务器端运行环境数据库服务器:SQL Server Management Studio.浏览器:Mozilla Firefox、Chrome、360安全浏览器、IE 6.0及以上.(3)客户端运行环境浏览器:Mozilla Firefox、Chrome、360安全浏览器、IE 6.0及以上.2.2系统可行性分析2.2.1技术可行性本次设计是以微软公司推出的Visual Studio 2012 为开发环境,它是为满足不同的团队需求和规模的要求,并为其成
13、员的不同角色量身定制的,从而实现在此平台上进行各类开发设计的目的。数据库方面,因已经过数据库相关的学习,熟知SQL语句,所以在进行数据库增删改查时不存在任何技术问题。综上,开发此类网站管理系统总体来说是可行的。2.2.2经济可行性在计算机信息化潮流发展迅速的今天,将住店资料通过计算机操作实现信息化管理已成为趋势 REF _Ref31488 r h 10,而随着时代进步和发展,硬件设备的更新不断加快,这也使得硬件性价比在不断提高。而从经济效益来看,使用该系统,不仅可以省去部分宣传费用,向各地推广,还可节省下一笔信息纸张化到数字化的材料费用。从而使民宿信息管理分层简化,提高便捷使用率,由此可看出此
14、系统的开发利用是有一定市场前景的。3 系统设计3.1数据库设计3.1.1需求分析该民宿预定系统主要是由管理员用来对民宿各类信息的收集利用,本系统共使用12张数据表,分别是职员信息表StaffInfo,换房信息表trans,房间分类表RoomType,房间状态设定表RoomState,房间信息表RoomInfo,预定/入住信息表record,管理员信息表OpInfo,顾客等级设置表GuestType,顾客信息表GuestInfo,楼信息表FloorInfo,顾客留言表GMessage和金额表ChargeCount。3.1.2概念结构设计在民宿预订系统设计时,预定/入住信息表记录了顾客预定/入住的
15、有关信息,用于信息的添加,查询,修改,删除等操作。顾客预定/入住信息表的实体图如图3-1所示。图 3-1 预定/入住信息表的实体图职员信息表记录了职员的所有信息,用于职员信息的添加,查询,修改,删除等操作。职员信息表的实体图如图3-2所示。图3-2 职员信息表的实体图管理员信息表记录了职员和管理者的相应信息,用于存储管理员账号信息并用于系统后台的登录验证等操作。管理员信息表的实体图如图3-3所示。图3-3 管理员信息表的实体图换房信息表用来设置因不同换房缘由所产生的相应信息。换房信息表的实体图如图3-4所示。图3-4 换房信息表的实体图房间状态设定表用来设置房间的使用状况。房间状态设定信息表的
16、实体图如图3-5所示。图3-5 房间状态设定表的实体图房间信息表记录了民宿所有房间的相应信息,用于信息的添加,查询,修改,删除等操作。房间信息表的实体图如图3-6所示。图3-6 房间信息表的实体图房间分类表记录了民宿各种房间类型的相应信息。房间分类表的实体图如图3-7所示。图3-7 房间分类表的实体图顾客等级设置表用来设置顾客等级相关信息。顾客等级设置信息表的实体图如图3-8所示。图3-8 顾客等级设置表的实体图顾客信息表记录了民宿所有顾客的相应信息,用于信息的添加,查询,修改,删除等操作。顾客信息表的实体图如图3-9所示。图3-9 顾客信息表的实体图楼信息表记录了民宿所有楼的相应信息,用于各
17、楼层之间信息的添加,查询,修改,删除等操作。楼信息表的实体图如图3-10所示。图3-10 楼信息表的实体图金额信息表记录了民宿房间换房或退房随时间不同所设定的价格,用于住宿房价的计算等操作。金额信息表的实体图如图3-11所示。图3-11 金额表的实体图顾客留言表记录了民宿顾客(注册/非注册)的留言信息,管理员可对其进行读取,删除等操作,并进行相应回复。顾客留言信息表的实体图如图3-12所示。图3-12顾客留言表的实体图3.1.3逻辑结构设计民宿预订系统数据表结构如下:(1)职员信息表职员信息表StaffInfo用于存储所有职员角色(包含超级管理员)信息,其设计结构如表3-1所示。表3-1 职员
18、信息表字段名字段类型长度字段含义允许空StaffIdint4员工编号否StaffNamevarchar()20员工姓名否Sexchar()5员工性别否Mobilevarchar()20员工电话否Pidvarchar()20员工身份证号否e-mailvarchar()50员工邮箱是markvarchar()MAX备注信息是delint4记录状态是(2)换房信息表换房信息表trans用于存储由于换房所产生的信息,其设计结构如表3-2所示。表3-2 换房信息表字段名字段类型长度字段含义允许空transidint4房间编号否reasonvarchar()50换房原因是addmoneyint10换房手续
19、费是(3)房间分类表房间分类表RoomType用于存储顾客入住使房间使用状况,其设计结构如表3-3所示。 表3-3 房间分类表字段名字段类型长度字段含义允许空RTidint4房间类型编号否RTnamevarchar()50房间类别名称否RTpricemoney房间价格否AddBedPricemoney加床费用否IsAddBedbit4加床是Remarkvarchar()255备注信息是(4)房间状态设定表房间状态设定表RoomState用于房间状态信息设定,其设计结构如表3-4所示。表3-4 房间状态设定表字段名字段类型长度字段含义允许空StateIdint4房间状态编号否StateNamev
20、archar()20房间状态否(5)房间信息表房间信息表RoomInfo用于存储房间信息,其设计结构如表3-5所示。表3-5 房间信息表字段名字段类型长度字段含义允许空RoomIdint4房间编号否Numbervarchar()20房间号否RTidint4房间类别编号是RSidint4房间使用状况编号是Fidint4所在楼层编号是Markvarchar()225备注信息是 (6)预定/入住信息表预定/入住信息表record用于存储顾客预定/入住信息,其设计结构如表3-6所示。表3-6 顾客入住信息表字段名字段类型长度字段含义允许空REidint4记录编号否Gidint4顾客等级编号否RoomI
21、dint4房间编号否InTimedatetime入住时间是OutTimedatetime预计退房时间是FactTimevarchar()50实际退房时间是daynumint4居住天数是Chargeint16消费金额是OrderTimedatetime下订单的时间是Markvarchar()MAX备注信息是PSNint4入住成人数是Delint4记录状态是 (7)顾客等级设置表顾客等级设置表GuestType用于进行顾客等级信息的设置,其设计结构如表3-7所示。 表3-7 顾客等级设置表字段名字段类型长度字段含义允许空GTidint4顾客等级编号否Tnamevarchar()10顾客等级名称否T
22、ratefloat8顾客等级折扣否(8)管理员信息表管理员信息表OpInfo用于存储后台管理员账户信息,其设计结构如表3-8所示。表3-8 管理员信息表字段名字段类型长度字段含义允许空OIdint4管理员编号否ONamevarchar()20管理员用户名否Pwdvarchar()MAX管理员用户密码否Rankvarchar()14管理员等级否Statevarchar()14管理员账号状态否InTimevarchar()50注册启用时间是OutTimevarchar()50注销停用时间是 (9)顾客信息表顾客信息表GuestInfo用于保存顾客信息,其设计结构如表3-9所示。表3-9 顾客信息表
23、字段名字段类型长度字段含义允许空Gidint4顾客编号否Gnamevarchar()10顾客姓名否GTidint4顾客等级编号否Sexchar()5顾客性别是Mobilevarchar()30顾客电话是ChargeSummoney顾客消费总金额是Pidvarchar()20顾客身份证号是emailvarchar()50顾客邮箱否markvarchar()50备注信息是Pwdvarchar()MAX顾客密码是delint4记录状态是 (10)楼信息表楼信息表FloorInfo用于保存楼信息,其设计结构如表3-10所示表3-10 楼信息表字段名字段类型长度字段含义允许空Fidint4楼编号否Fna
24、mevarchar()20楼名称是 (11)金额表金额表ChargeCount用于保存退换房随时间不同产生的变化,其设计结构如表3-11所示。表3-11 金额信息表字段名字段类型长度字段含义允许空datedatetime换/退房时间是Chargefloat8房间价格是 (12)顾客留言表顾客留言表GMessage用于存储顾客的留言信息,其设计结构如表3-12所示。表3-12 顾客留言信息表字段名字段类型长度字段含义允许空Midint4留言编号否Gidint4顾客编号是Gnamevarchar()10顾客姓名是Messagevarchar()MAX留言是Emailvarchar()30顾客邮箱是
25、Mobilevarchar()30顾客联系电话是Delint4记录状态是3.2系统功能设计根据民宿预定系统的特点,系统可分为前台和后台两大功能模块。而根据前、后台功能模块服务对象主体的不同,两个功能模块的主题设计也将有所不同。前台主要设计提供给顾客进行民宿信息的浏览、预定房间、个人账号注册和留言等操作。后台则侧重于提供管理员对信息管理操作。3.2.1前台功能模块设计房间预订:顾客可通过账号注册登录或不注册登录账号直接预订两种方式进行房间的预订,并生成预定记录。顾客账号注册:提供顾客进行个人会员账号的注册功能。注册成功以后,成为会员顾客,享受相应优惠。后台登录入口:用于提供给管理员进入系统后台的
26、入口。留言:处于登录或非登录状态下的顾客都可通过留言模块给管理员进行信息留言,并生成留言记录。顾客登录:顾客登录后可进行查询并修改部分个人信息,查看个人消费记录,预订房间信息,留言等操作。3.2.2后台功能模块设计管理员登录:管理员角色分为职员与超级管理员,不同级别的管理员用户,拥有的权限不同。超级管理员拥有查看与回复顾客留言信息、添加职员信息激活职员后台账号的超级管理权限。本系统将初始指定超级管理员admin登录。职员信息管理:添加,修改,删除,查询,职员信息等。普通职员只可进行部分个人信息的修改;当超级管理员进行增、删、改操作时都将弹出需确认窗口进行操作确认,而信息的查询将以单一条件查询形
27、式进行。 房间信息管理:管理员有权进行增删改房间信息操作。删除房间时,需确认弹出窗口,确认删除后,此房间所有信息将会注销。房间使用状态将根据预定记录里的相关信息在每天早上零点进行自主更新。顾客信息管理:管理员可增删改查顾客信息。顾客也可以自行注册,并有权修改部分个人资料。超级管理员进行顾客留言查看,并利用邮箱进行相应回复。 后台功能模块图,如图3-13所示。图3-13 网站后台功能模块图3.3控件设计3.3.1顶部/底部控件在所创项目BKHS根目录下,添加名为Site的母版页控件,用来固定用户界面的整体格局,其中包含顶部和底部控件。顶部控件用于用户通过点击来实现页面的跳转,用户登录后在顶部控件
28、的右上角会有一个Lable显示出用户在线状态,并通过此处的“退出”按钮结束登录状态,同时清空页面Session信号 REF _Ref31619 r h 11 REF _Ref32478 r h 12。底部主显示网站版权信息,并设有后台管理系统的入口。母版页运行显示如下图3-14所示。顶部控件(顾客未登录状态)顶部控件(顾客登录状态)底部控件图3-14母板页中控件3.3.2留言/用户登录控件在所创项目BKHS根目录下新建一个名为contact.aspx的子页面并引用Site.master母板页,固定页面头与底部。其中左下角的“会员登录口”是用于顾客用户的注册和登录的控件,右边则是不需登录也可留言
29、的留言框控件,如图3-15所示。图3-15 留言/用户登录控件3.3.3房间预订控件房间预订控件共有3种,如下图3-15(1)、3-15(2)和3-15(3)所示,顾客都可以通过这3个页面来预订房间。其中未登录的顾客可通过图3-15(1)和图3-15(2)来填写想要预订房间的基本信息,并需通过contact页面完善预订者信息后提交申请。而登录后的顾客用户可直接通过图3-15(3)页面预订房间。 图3-15(1)预订房间控件图3-15(2)预订房间控件图3-15(3)预订房间控件3.3.4管理员登录控件管理员登录控件主要用于职员和管理人员进入后台进行相应的操作。在所创项目BKHS根目录下新建一个
30、名为backup的文件夹,并在此文件夹下新建一个用户控件,将其命名为login.aspx,并在login.aspx.cs中通过对页面控件的代码编写实现对数据库的连接和登录用户名以及对应密码的核实工作,验证成功进入后台Default.aspx窗体页面,并释放Session登录信号用于提供给下一窗体页面使用,有效降低系统对数据库的读取次数 REF _Ref32279 r h 13。该用户控件页面运行效果如图3-16所示。图3-16 管理员登录控件4 系统实现4.1前台编码实现4.1.1前台首页模块(1)前台首页模块概述前台首页模版主要包含网站的名称、部分民宿相关图片和民宿的简介。前台首页运行效果如
31、图4-1所示。 顾客登录前(退出后) 顾客登录后图4-1客户端首页前台首页模块实现过程设计步骤:在所创项目BKHS根目录下,添加一个名为Site的母版页控件,用来固定用户界面的整体格局。并添加一个名为Index.aspx的Web窗体,其视为Site.master母版页的展示页。在Site母版页的页面头文件中插入名为head的ContentPlaceHolder控件以用于子页面头文件的插入与引用,并将页面分为上、中、下三个部分,其中上下两个部分在母版页中设计固定,在中间部分插入一个名为ContentPlaceHolder1的ContentPlaceHolder控件以实现子页面内部的设计与修改。在
32、顶部通过div+css格局固定与js的引入来实现menu菜单的功能,用户可通过点击来实现页面的跳转,并在右上角隐藏一个用于顾客账号在线状态显示,并通过判断Session信号是否存在以实现其的隐藏与显示。底部主显示网站版权信息,并设有后台管理系统的入口,管理员可通过此处入口随时随地进入系统后台进行操作。/顾客登录状态显示框this.div1.Style.Add(display, none);/初始状态设置为隐藏if (Sessiona != null)/如果登录时释放的信号不为空/将含有顾客姓名值的信号Session值赋值给Label1用于显示/顾客登录状态显示框this.div1.Style.
33、Add(display, none);/初始状态设置为隐藏if (Sessiona != null)/如果登录时释放的信号不为空/将含有顾客姓名值的信号Session值赋值给Label1用于显示this.Label1.Text = Sessionname.ToString();/将隐藏的登录状态框设置成显示this.div1.Style.Add(display, block);/显示/触发“退出”按钮this.div1.Style.Add(display, none);/将登录状态显示框隐藏/清空所有的Session信号Sessiona = null;Sessiontrate = null;S
34、essionb = null;Sessionname = null;/页面提示退出成功确认后自动跳转至网站首页Response.Write(alert(已成功退出,感谢使用!);location.href=Index.aspx;);4.1.2顾客登录模块(1)顾客登录模块概述顾客登录后可以进行预订房间,查看住房信息和查看/修改部分个人信息等操作,并在住宿价格上享有一定的优惠。(2)顾客登录模块实现过程设计步骤:顾客登录口至于contact.aspx页面窗体当中,主要由2个TextBox文本框控件和2个Button控件组成。用户在文本框中输入对应的账号编号和密码并通过“登录”按钮触发contac
35、t.aspx.cs后台相应的代码,实现数据库中相应信息的读取,并验证编号和密码,从而进入GInfo.aspx顾客个人信息页面窗体。或通过触发“注册”按钮进入GReg.aspx顾客账号注册页面窗体。顾客登录口设计如图4-2所示。图4-2 顾客用户登录模块关键代码如下:/MD5加密public static string GetMD5(string myString) MD5 md5 = new MD5CryptoServiceProvider(); byte fromData = System.Text.Encoding.Unicode.GetBytes(myString); byte targ
36、etData = md5.ComputeHash(fromData); string byte2String = null; for (int i = 0; i targetData.Length; i+) /MD5加密public static string GetMD5(string myString) MD5 md5 = new MD5CryptoServiceProvider(); byte fromData = System.Text.Encoding.Unicode.GetBytes(myString); byte targetData = md5.ComputeHash(from
37、Data); string byte2String = null; for (int i = 0; i targetData.Length; i+) byte2String += targetDatai.ToString(x); return byte2String; (1)顾客注册模块概述顾客可经此页面窗体自行进行个人信息的注册,获取注册编号,由此成为民宿会员享受相应的优惠政策。(2)顾客注册模块实现过程设计步骤:在项目文件夹BKSH下套用Site.master母版页框架添加一个名为Guest.master的母版页。并在应用程序中套用Guest.master母版页新建一个Web窗体,并将其命
38、名为GReg.aspx。在此窗体页面中添加了2个RadioButton控件,8个TextBox控件和2个Button按钮。其中,两个RadioButton控件用来进行顾客性别的选择,而除了TextBox10“备注”文本框可以为空外,其他信息需全部填写后才能进行注册,并通过Button3“注册”按钮的触发来执行页面顾客信息对数据库表GuestInfo的写入操作,同时释放信号Sessiona并转入GInfo.aspx页面窗体中,显示注册成功者的个人信息,否则跳出相应的提示语。“清空”按钮用于情况尚未注册情况下所填写的顾客资料。页面设计如图4-3所示。图4-3 顾客用户注册模块/进入页面时读取数据库
39、表guestinfo生成新注册顾客账号编号string id = select top 1 gid from guestinfo order by gid desc;/进入页面时读取数据库表guestinfo生成新注册顾客账号编号string id = select top 1 gid from guestinfo order by gid desc;SqlConnection conn = new SqlConnection(strCon);conn.Open();/打开数据库连接SqlCommand comm = new SqlCommand(id, conn);comm.CommandT
40、ype = CommandType.Text;using (SqlDataReader sdr0 = comm.ExecuteReader()while (sdr0.Read() string no0 = sdr0gid.ToString(); int a = Convert.ToInt32(no0) + 1; Sessiona = a;/释放登录信号conn.Close();/关闭数据库连接4.1.4顾客个人信息模块(1)顾客个人信息模块概述顾客注册后便会进入个人信息页面,在此页面顾客可以查看自己的个人信息和消费等级,并有权对相应的个人信息进行修改操作。(2)顾客个人信息模块实现过程设计步骤
41、:在应用程序中套用Guest.master母版页新建一个Web窗体,将其命名为GInfo.aspx。在此窗体页面当中包含了9个TextBox文本框和3个Button按钮,并通过读取登录窗体页面或注册窗体页面释放出的Sessiona信号来实现从数据库表GuestInfo中查找出相应顾客信息的读取操作,并将读取出的信息输入到相应文本框中,并将TextBox2文本框中的值赋值给信号Sessionname以用于满足其他页面窗体需求。其中只有TextBox6、TextBox7、TextBox8可进行信息修改并通过Button1“修改个人信息”按钮进行数据库表GuestInfo中信息的更新操作。同时顾客也
42、可通过触发按钮“预订房间”和“查看预订信息”来实现向房间预订页面GBook.aspx窗体或个人消费信息页面GBInfo.aspx窗体的跳转。顾客个人信息页面设计如图4-4所示。图4-4 顾客个人信息页面4.1.5顾客消费信息模块(1)顾客消费信息模块概述顾客在登录状态下经页面上的“查看预定信息”按钮实现对个人消费信息的查看。(2)顾客消费信息模块实现过程设计步骤:在应用程序中套用Guest.master母版页新建一个名为GBInfo.aspx的Web窗体。此窗体包含了2个TextBox文本框和一个GridView控件,文本框用来显示由其他页面窗体释放出的信号Sessiona和Sessionna
43、me,并通过这2个文本框的值实现对数据库的表record中相应数据的读取操作,并将此顾客得消费记录载入到GridView控件之中显示出来。而文本框中信息的显示也起到了让顾客确认显示出的信息是本人消费记录的作用。 顾客消费信息页面设计如图4-5所示。图4-5 顾客消费信息页面4.1.6房间预订模块(1)房间预订模块概述顾客可通过登录或非登录两种方式来进行房间的预定操作,登录后的顾客可享有非登录顾客所无法享受到的一定优惠政策。(2)房间预订模块实现过程设计步骤:1)未登录账号的顾客在应用程序中分别建立一个名为Reservation.aspx和名为Book.aspx的Web窗体,其中Book.asp
44、x中包含2个DropDownList(1个绑定从数据库里读取出的房间类型,另一个用于绑定入住的成人数),2个用于绑定my97日历插件的文本框用于提取入住/退宿时间和1个Button按钮控件用于跳转至Reservation.aspx页面,由于此页面只能负责采集顾客预订房间时所产生的部分信息,所以要跳转到Reservation.aspx页面窗体再逐步补充完整其他相关信息,而Reservation.aspx页面窗体拥有4个DropDownList控件与2个文本框,其中的2个DropDownList控件与2个文本框控件与Book.aspx中的设计一致,所以顾客也可跳过Book.aspx页面窗体直接从此
45、页面填写相关预订信息,填写完整后通过触发Reservation.aspx页面中的Button1“提交”按钮实现页面的跳转并将信息带入至Contact.aspx页面,并在填写完整Contact.aspx页面的顾客信息后通过触发此页面窗体的“提交”按钮实现对数据库表record的写入操作,实现客户预定。如图4-6所示,非登录状态顾客可实现房价预订的3个步骤页面设计。图4-6 非登录状态顾客预订页面2)登录账号的顾客在应用程序中引用Guest.master母版页创建一个名为GBook.aspx的Web窗体。此窗体由4个DropDownList控件,3个文本框控件(其中2个绑定日历控件用于读取日期时间
46、),4个Lable控件和4个Button控件,其中4个Lable控件和Button1“预订”按钮隐藏在一个由Button4“查询价格”触发控制显示的div框架中,顾客需先进行价格查询才可通过对原本隐藏的Button1“预订”按钮的触发操作,从而将有关数据从页面读取出并写入数据库表record中,实现对房间的预订操作。Button2“取消”按钮用于清空此窗体中所有控件中的值。Button3“查看预订信息”用于触发进入GBInfo.aspx查看此顾客的个人消费记录。顾客登录后进行房间预定操作的页面设计如图4-7所示。同时登录状态的顾客也可采取非登录状态顾客预订的前2步骤进行预定。图4-7 登录状态
47、顾客预订页面关键代码如下: string intime = this.a1.Value.Trim();/顾客预计入住时间 string intime = this.a1.Value.Trim();/顾客预计入住时间 string outtime = this.a2.Value.Trim();/顾客预计退出时间 DateTime intime1 = Convert.ToDateTime(intime); DateTime outtime1 = Convert.ToDateTime(outtime); /预订房间的类型 string rtid = Convert.ToString(this.Dro
48、pDownList1.SelectedValue); int year1 = Convert.ToInt32(intime1.Year); int year2 = Convert.ToInt32(outtime1.Year); int month1 = Convert.ToInt32(intime1.Month); int month2 = Convert.ToInt32(outtime1.Month); int day1 = Convert.ToInt32(intime1.Day); int day2 = Convert.ToInt32(outtime1.Day);/提取record入住/预
49、订信息表中所有尚未结束入住的预订信息 string sql = select * from Record ,guestinfo,Roominfo where record.gid=guestinfo.gid and roominfo.roomid =record.roomid and record.facttime=暂未离开 and record.del=0 order by record.REID; SqlConnection conn = new SqlConnection(strCon); SqlCommand comm = new SqlCommand(sql, conn); SqlD
50、ataAdapter da = new SqlDataAdapter(comm); DataTable dt = new DataTable(); da.Fill(dt); conn.Close();/读取相应预订房间的所有信息 string sql1 = select * from roominfo where rtid= + rtid + ; SqlConnection conn1 = new SqlConnection(strCon); SqlCommand comm1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new Sql
51、DataAdapter(comm1); DataTable dt1 = new DataTable(); da1.Fill(dt1); conn1.Close(); int a = 0; int row = Convert.ToInt32(dt.Rows.Count);/预订类型房间所拥有的间数 if (row != 0) /用顾客预订入住/退房的时间和record记录表里所有未注销的记录时间经行逐一对比 for (int i = 0; i = day1 & day1 = it1) | (ot1 = day2 & day2 = it1) a+; else/否则入住 cheak(); strin
52、g rtname = Convert.ToString(this.DropDownList1.SelectedItem); if (rtname != -请选择-) /若信号a大于等于相应房间个数则提示相应房间此时间段已满约,否则进行确认入住 if (a = dt1.Rows.Count) Response.Write(alert(抱歉此段时间相应房间已预订满客!);); else cheak(); else Response.Write(alert(请选择房间类型!);); 4.2后台编码实现4.2.1后台首页模块(1)后台首页模块简介点击网站底部控件中“后台入口”进入后台,弹出管理员登录页
53、面,验证成功进入后台首页。如图4-8所示管理员登录页面,如图4-9所示后台首页。图4-8 管理员登录模块图4-9后台首页模块(2)后台登录模块实现过程设计步骤:为区别于前台设计,在项目文件夹BKSH下新建一个名为backup的文件夹,并新建一个名为login.aspx的Web窗体。此窗体页面包含2个TextBox文本框控件和2个Button控件,管理者通过在文本框中输入个人账号信息并触发“登录”按钮来实现login.aspx.cs中的代码调用,并通过与数据库表OpInfo中对应人员的信息读取比对来实现管理员后台的登录操作。成功登录的同时释放登录者权限等级Sessionrank、姓名 Sessi
54、onAdmin和登录密码Sessionpwd3个信号,用于提供给其他窗体页面便捷调用,减少对数据库的不必要的重复读取工作 REF _Ref21120 r h 9。关键代码如下:conn.Open();/打开数据库连接string userp = FormsAuthentication.HashPasswordForStoringInConfigFile(up, MD5);/MD5加密用户密码string selectsql = select * from OPInfo where OName= + un + and Pwd= + userp + ;update opinfo set intim
55、e= + now + ,outtime=尚未退出 where oname= + un + ;/根据文本框账号名称和密码进行账号查找SqlCommand cmd = new SqlCommand(selectsql, conn);cmd.CommandType = CommandType.Text;SqlDataAdapter da = new SqlDataAdapter(cmd);conn.Open();/打开数据库连接string userp = FormsAuthentication.HashPasswordForStoringInConfigFile(up, MD5);/MD5加密用户
56、密码string selectsql = select * from OPInfo where OName= + un + and Pwd= + userp + ;update opinfo set intime= + now + ,outtime=尚未退出 where oname= + un + ;/根据文本框账号名称和密码进行账号查找SqlCommand cmd = new SqlCommand(selectsql, conn);cmd.CommandType = CommandType.Text;SqlDataAdapter da = new SqlDataAdapter(cmd);Da
57、taTable dt = new DataTable();da.Fill(dt);using (SqlDataReader sdr = cmd.ExecuteReader() if (sdr.Read()/读取出相应数据 /提取管理员账号状态和等级 string state = Convert.ToString(dt.Rows0state); string rank = Convert.ToString(dt.Rows0rank); /若账号状态为“注册”则登录成功释放登录信号跳转页面 if (state = 注册) Sessionrank = rank; SessionAdmin = un;
58、 Sessionpwd = up; Response.Redirect(Default.aspx); /若账号状态不为“注册”则弹出相应信息提示框 else if (state = 注销) ScriptManager.RegisterStartupScript(Page, typeof(Page), tishi, alert(此用户已注销!);, true); else if (state = 停用) ScriptManager.RegisterStartupScript(Page, typeof(Page), tishi, alert(此用户暂时停用!);, true); else Scri
59、ptManager.RegisterStartupScript(Page, typeof(Page), tishi, alert(此用户尚未注册!);, true);/若没读取出相应账号名与密码的信息,则弹出提醒信息提示框elseScriptManager.RegisterStartupScript(Page, typeof(Page), tishi, alert(请确认用户名和密码!);, true);设计步骤:在backup文件夹下创建一个名为MasterPage.master母板页用于固定后台的顶部和左边的页面框架结构,同时引用css与js实现自己想要menu的显示效果,在母版页的右边插
60、入一个命名为MainContent的ContentPlaceHolder控件,用于通过与子页面Control控件之间的相互关联实现对系统后台子页面的映射作用。之后再在此文件夹下套用MasterPage.master母板页新建一个名为Default.aspx的Web窗体,借用Control控件与母版页中相应ContentPlaceHolder控件实现映射作用,完成对 Default.aspx窗体右边部分的页面设计。其中右边包含了房间信息显示区、系统信息提示框和时间表3个功能模块,便于管理者有效便捷的了解民宿使用状况。4.2.2预订/入住管理模块(1)预订/入住管理模块简介点击导航栏 “入住管理”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年注册安全工程师综合复习试题
- 2025年配送司机安全协议
- 二零二五年度旅游服务业工伤保险及劳动合同执行标准
- 二零二五年度交通事故车辆修复自行协商协议书
- 2025年度美容院与时尚杂志合作广告推广协议
- 2025年度高端服饰品牌客户引荐提成合同
- 二零二五年度无子女财产分割与离婚协议书编制指南
- 2025年环保节能型冷却塔合作协议书
- 上虞区水务集团2025年度合同工工资待遇与工作保障合同
- 二零二五年度企业员工入职与员工培训与晋升合同
- DB43-T 3111-2024分布式光伏接入配电网技术导则改
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- 2024年云南省中考物理真题含解析
- 《员工质量意识培训》课件
- 完整版物流商业中心装饰装修工程施工方案
- 再生医学服务行业现状分析及未来三至五年行业发展报告
- 【语文】《我与地坛》课件+2024-2025学年统编版高中语文必修上册
- 【初中道法】认识生命说课课件-2024-2025学年统编版道德与法治七年级上册
- GB/T 44823-2024绿色矿山评价通则
- 2024年官方兽医牧运通考试题库(含答案)
- 计算机三级网络技术真题单选题100道及答案
评论
0/150
提交评论