SQL酒店管理系统实例

发布时间:2020-04-08 11:48:00

数据库酒店管理系统实例(附C#界面及代码)


第1章 前言

开发背景

经济的快速发展,人们的生活水平和消费意识的提高,促进了旅游业的发展。宾馆行业将面临着机遇和挑战。

宾馆客人管理是宾馆管理的一个重要且必须切实面对的工作,但一直以来人们使用传统的人工方式管理宾馆,这种管理方式存在着许多缺点,如:效率低、保密性差且较为烦琐,另外随着客人数量的增加,其工作量也将大大增加,这必然增加客人管理者的工作量和劳动强度,这将给客人管理信息的查找、更新和维护都带来了很多困难。

建立宾馆客人档案管理系统,采用计算机对客人信息进行管理,可以进一步提高宾馆的经济效益和现代化水平,帮助宾馆工作人员提高工作效率,实现客人信息管理工作流程的系统化、规范化和自动化。

经过详细的调查,目前油缘宾馆客人住宿登记管理还停留在人工管理的基础上,这样的管理机制已经不能适应时代的发展,这样的方法将浪费许多人力和物力。随着计算机技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。

客人档案管理作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高宾馆管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的宾馆客人档案管理系统,将是非常必要的,也是十分及时的。

宾馆组织结构

油缘宾馆位于成都市新都区新都大道北侧,地处成绵高速新都出口一公里处。从宾馆驱车十分钟可到达闻名全国的古寺名刹——宝光寺和美丽的升庵桂湖。宾馆按三星级标准修建,集住宿、餐饮、康乐、商务、会议接待等综合服务为一体,为来宾精心构筑一个环境优美舒适、人文气息浓厚的休憩、娱乐场所。

宾馆有客房103套(间),其中豪华套房8套,单人间6间,商务标间10间,豪华标准间79间。客房整洁明亮,装饰讲究、温馨舒适,备有现代家具、彩电、中央空调及完善的通讯设备和消防报警系统,40间客房开通宽带上网服务,并有商务标间配置完备的上网设施;中餐厅可容纳300人就餐,菜品独具特色、品种齐全、用料精细、做工考究、风味独特;阳光茶楼清静典雅,服务热情周到;多功能会议室设施齐全,可实现各会议室同步视频会议,能充分满足各类会务活动的需求;商务中心提供多种商务服务。

图1-1 宾馆组织结构图

系统开发方法

油缘宾馆客人档案管理系统采用的是原型法的开发方法。本着开发人员对用户需求的理解,通过简单的系统分析、系统设计,快速实现一个原型系统,然后通过反复修改来实现管理信息系统。


第2章 系统分析

可行性分析

1、管理上的可行性

传统的宾馆客人管理过程中,管理人员不得不大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响宾馆的经济效益。因此,宾馆的管理人员迫切地需要一套宾馆客人信息管理系统来对日常信息进行处理和维护。

历史经验的积累使宾馆行业现有的管理制度和管理方法比较科学,规章制度比较齐全,原始数据比较正确。这些为系统的建设提供了有效的制度保障。

2、技术上的可行性

本管理信息系统将采用技术成熟的C#作为前台开发工具。后台数据库采用微软公司的SQL Server数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

3、经济上的可行性

本系统由作者自主开发,操作人员只需简单培训即可上岗。管理和维护比较简单,除了必要的设备投资外,后期只需少量资金就可确保运转。因此对于油缘宾馆在经济上是完全可以接受的。

本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,能够取得良好的经济效益。

综上所述,本系统在管理上、技术上和经济上都是完全可行的,并且投入少、见效快。因此系统的开发是完全可行的。

需求分析

业务流程分析

宾馆业务的基本流程主要包括:

客房的预定,客人通过电话或者其他途径向酒店进行客房预定,接待人员查询客房状态表后确定有空房则接受预定,预定成功后发给客人预定凭证,并对客房状态表做出相应的变化。

客房的登记,分为预定入住和散客登记。

如果客人已经预定房间,则根据预定凭证进行预定入住操作,发给客人房卡,客房状态由“预定”变为“入住”。

如果客人没有预定房间,接待人员查询客房状态表后,有空房则进行客房登记操作,发给客人房卡,客房状态由“空房”变为“入住”。

客人换房,如果客人对入住的客房条件不满意,则可进行客人换房操作。接待人员将客人的房间进行更换,并更换客人房卡,客房状态也进行相应的调整。

客房消费,客人入住期间在酒店进行了消费,如:购买商品,就餐,打电话。就要进行消费入帐操作。包括:消费入账,餐费入账,话费入账。

补交押金,如果客人的押金太少,则要补交押金。客人交纳押金,接待人员开具押金凭证。

夜审管理。宾馆的管理人员要对宾馆的基本信息进行了解则可以进行夜审管理,包括:客房状态报表的查看,客人入住信息的查看,历史客人报表查看。

客人退房,客人退房时,接待人员根据客人的房卡,进行退房登记。计算客人入住期间的房费,餐费,话费,各种消费和押金总额。对客人收取费用或者退回押金。客人信息转存到历史客人表中。客房状态由“入住”转为“空房”。

图2-1 业务流程分析图

数据流程分析

本系统的后台数据库将作为整个宾馆的数据流通中心,将各个部门的数据信息连通起来,具体流程如下图所示:

图2-2 数据流程分析图

系统功能分析

1、散客开单:完成散客的开单,可一次最多开5间相同类型的房间。

2、团体开单:完成团体的开单,开放数量没有限制,可同时开不同类型的房间。

3、宾客结账:自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。

4、客房预订:完成增加预订、修改预订、删除预订,预订情况的查询等功能。

5、营业查询:完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询。

6、客户管理:完成会员基本信息的维护和来宾一览。

7、系统设置:完成房间项目、客户类型、操作员、计费设置。

系统权限分析

用户分为:普通用户和管理员

管理员:具有操作全部功能的权限。

普通用户:部分功能不允许使用。


第3章 系统设计

系统功能模块设计

图3-1 系统功能模块图

从上图中可以看出,系统总共分为7个模块,散客开单模块主要完成散客的开单,开单后房间进入计费状态,根据系统设置,自动计费;团体开单模块主要完成团体的开单,开放数量没有限制,可同时开不同类型的房间;宾客结账模块主要完成自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作;客房预订模块主要完成增加预订、修改预订、删除预订,预订情况的查询等功能。营业查询模块主要完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询;客户管理模块主要完成会员基本信息的维护和来宾一览;系统设置模块主要完成房间项目、客户类型、操作员、计费设置。

数据库设计

本软件的数据库名称为:sunhotel,包含12个数据表,分别是:房间类型表、房间信息表、客户类型表、入住信息表、预定信息表、结算表、日志表、操作员信息表、会员信息表、散客开单中间表、团体开单中间表和预订信息中间表。

具体表结构如下:

表3-1 房间类型表 [roomtype]

表3-2 房间信息表 [roominfo]

表3-3 客户类型表 [customertype]

表3-4 入住信息表[livein]

表3-5 预定信息表[engage]

表3-6 结算表[checkout]

表3-7 日志表[record]

表3-8 操作员信息表[pwd]

表3-9 会员信息表[member]

表3-10 散客开单中间表[roomnum]

表3-11 团体开单中间表[roomnums]

表3-12 预订信息中间表


第4章 系统实现

系统主界面

图4-1 系统主界面

来宾登记模块

宾客开单

1、功能

建立宾客消费帐,本模块为每位来店宾客指定一个房间(房间),是宾客消费的开始。

2、界面

图4-2 散客开单

图4-3 团体开单

3、操作指南

(1)在选定某一处于 “可供” 或 “预订” 状态的房间后,通过点击菜单 “散客登记(团体登记)→开单” (或直接点击主窗口中的 “顾客开单” 快捷按钮)菜单进入顾客开单界面。

(2)进入 “顾客开单” 界面后(如图4-2、4-3),可以看到有关选定开单房间的基本信息及一些基本费用。

(3)填写来宾人数(必须填写)、押金金额(根椐本店情况而定),系统将自计算相应的费用。

(4)填写完之后,点击 “确定” 按钮将完成开单任务,点击 “取消” 按钮将取消此次开单操作。

更换房间

1、功能

假如因为店内原因或客人要求,造成客人当前占用的房间(房间)必须终止提供,但客人的消费并未终结,为此,可以通过更换房间来将客人资料及消费信息在不进行结帐操作的情况下转到另一新项目下。例如:换房间(房间)。

2、界面

图4-4 更换房间

3、操作指南

(1)在选定需要更换的房间后, 通过点击菜单 “来宾登记→换房间”进入更换房间界面(如图4-4)。

(2)进入 “更换房间” 界面后可以看到当前待调换的房间号(即:原房间),在“调整为”后的文本框中输入要调整到的目标房间。

(3)填写完之后,点击 “确定” 按钮将完成更换房间任务,点击 “取消” 按钮将取消此次更换房间操作。(注:如果待更换的房间和目标房间在同一房间类型中,可通过拖放的方式进行调换)

修改登记

1、功能

如果在顾客开单时填写有误,或者用于修改来宾姓名、押金金额等可通过此项操作完成。

2、操作指南

(1)在选定需要修改登记的房间后, 通过点击菜单 “来宾登记→登记”进入修改登记界面。

(2)进入修改登记界面后,相应的文框将显示出顾客登记时的数据,更改需要修改的项目。如:来宾人数、押金金额。

(3)填写完之后,点击 “确定” 按钮将完成修改任务,点击 “取消” 按钮将取消此次修改操作。

房间状态

功能

此项操作可手动修改处于非占用状态的房间状态为”可供”、“预订”、“停用”、“脏房”等状态。

预定管理

1、功能

此项功能可以完成增加预订、修改预订、删除预订,预订情况的查询、导出、打印等功能。

2、界面

图4-5 客户预订

3、操作指南

(1)通过点击菜单“来宾登记→预订管理”菜单(或直接点击主窗口中的“预订管理”快捷按钮)进入预订管理界面。

(1)增加预订:点击预订管理窗口中的 “增加” 按钮进入预订登记窗口,在预订登记窗口中填写预订人信息并指定其预订的房间类型及房间、确认宾客预计到达的时间和最后保留时间,还可选择“到达保留时间是否自动取消预订”。填写完之后点击“确定”按钮将完成此次预订,点击“取消”按钮将取消此次预订操作。(注:最后保留时间是指若宾客在预订到达的时间没有到达,最多还能廷长到的时间。此时间做为自动取消预订的条件)。

(2)修改预订:若要修改某条预订信息可在预订管理窗口中选择一条要修改的预订信息,然后点击预订管理窗口中的 “修改” 按钮进入修改预订登记窗口,修改相应内容(操作方法类似于增加预订)后点击“确定”将保存修改后的信息,若点击“取消”按钮将取消此次修改预订登记操作保持原有的数据不变。

(3)删除预订:在预订管理窗口中选择一条要删除的预订信息,然后点击预订管理窗口中的“删除”按钮,系统将给出提示“删除后将不能恢复,确定删除吗?”,点击“确定”将永久删除所选中的预订信息,点击“取消”将不做任何操作并返加预订管理窗口。

(4)查询预订:在预订管理窗口中“房间号/姓名”后的文本框中输入被预订的房间号或预订人的姓名后点击“查询”,数据表中将显示出符合查询条件的预订信息,当然可以点击“过滤”按钮选择过滤条件从而指定查询范围。点击“刷新”按钮数据表中将显示所有预订信息。

退出系统

1、功能

此项操作可中断本系统的运行并退回到操作系统。

2、操作指南

点击菜单“来宾登记→退出系统”,系统将提示“真的要退出系统吗?”,点击“是”将中断当前所的操作并退出本系统,点击“否”将返回到本系统。(注:退出系统前请先确认对未保存的操作进行保存,否则系统将取消未保存的操作)

收银结账

宾客结账

1、功能

本模块将自动统计每个登记客人在店时所发生的所有消费额和应付款额,并完成结帐收银操作。

2、界面

图4-6 收银结账

3、操作指南

(1)在主窗口中选要结账宾客的房间后,点击菜单“收银结账→宾客结账”(或点击主窗口中的“宾客结账”快捷按钮)进入宾客结账界面。

(2)此窗口主要包括:结账房间信息区、付款情况区。(注:结账房间信息区:用来显示当前结账房间的账单号、房间编号、宾客姓名,付款情况区:中分别有消费金额、应收金额、已收押金、优惠金额、实收金额、宾客支付、找零等,其中:“已收押金”是指已经收取的“预付款”等金额的合计额;“结算金额” 是指经系统计算应收的结账金额,即:“消费金额-已收押金=结算金额”;“宾客支付”是指客人结账时交付给收银员的金额,如果大于结算金额,则在其后显示找零金额;“优惠金额”是指系统根设置的打折比率自动计算出的让利于宾客的金额及抹零金额等的统称。最后的“入账金额=消费金额-优惠金额”由系统自动计算。消费消单区:用来显示选中房间的消费清单。

(3)点击“结账”按钮后就完成了结账操作,也就意味着终止了此宾客此次在本店的消费行为,并自动关闭本窗口。

(41)点击“取消”按钮将取消此次结账操作并自动关闭本窗口。

合并结账

1、功能

合并两个或两个以上的帐单为一个帐单,合并后的账单可同时结账。

2、界面

图4-7 合并账单

3、操作指南

(1)通过点击主窗口中的菜单“收银结账→合并账单”进入合并账单界面(如图4-7)。

(2)在“在店宾客”列表框内移动光标或直接用鼠标指定客人,也可在“指定房间后”的文本框内输入宾客房间编号迅速查找定位相关宾客。

(3)在“在店宾客”列表框内按回车键或双击鼠标或按带有向右方向箭头的按钮,将当前光标所指的宾客记录移动到“合并区”列表框;可添加多个房间到合并区,方法同上。带有向左方向箭头的按钮与带有向右方向箭头的按钮的作用相反。

(4)在“合并区”内移动光标,可选择确定合并后以哪个房间作为合并后的主单。

(5)按“确定”按钮完成合并操作,反之按“取消”按钮则取消合并操作。

拆分结账

1、功能

将合并后的账单拆分成单个的账单。

2、界面

图4-8 拆分账单

3、操作指南

(1)通过点击主窗口中的菜单“收银结账→分账单”进入拆分账单界面(如图4-8)。

(2)在“可供分拆的帐单”列表框内移动光标或直接用鼠标选中某一宾客,也可在“指定房间”后的文本框内输入宾客的房间编号迅速查找定位相关宾客。

(3)在“可供分拆的帐单”列表框中选择需要分拆的子账单,按回车键或双击鼠标或按带有向右箭头的按钮,可将当前光标所指的子帐单移到“拆分区”,按“确定”按钮完成拆分账单操作,反之按“取消”按钮取消拆分账单操作。

业务查询

结账单查询

1、功能

根据结账时间、宾客姓名、账单号、房间号来查询已经的结账的账单。

2、界面

图4-9 营业查询

3、操作指南

(1)点击菜单“营业查询→结帐单查询”进入“结帐单查询”界面。

(2)选择账单时间后,填写起始时间和终止时间后点击查询按钮,在结账状态信息里会显示这一段时间的结账单内容。

(3)选择姓名/房间号/账单号后,填写内容后点击查询按钮,在结账状态信息里会显示某个宾客、某房间、某个账单号的结账单内容。

全部宾客信息查询

1、功能

根据输入的宾客姓名、证件编号、房间号查询来宾的信息内容。

2、界面

图4-10 全部宾客信息查询

3、操作指南

(1)点击菜单“营业查询→全部宾客信息查询”进入“全部宾客信息查询”界面。

(2)输入宾客姓名、证件编号、房间号后,点击查询按钮,在所有来宾信息里会显示宾客的信息内容。

(3)点击近日来客按钮可以查询今天到店的宾客内容。

在店宾客消费查询

1、功能

查询在店的宾客某时间内的消费。

2、界面

图4-11 在店宾客消费查询

3、操作指南

(1)点击菜单“营业查询→在店宾客消费查询”进入“在店宾客消费查询”界面。

(2)选择入住时间,填写起始时间和终止时间,点击查询按钮在店宾客消费里会显示所选时间里的在店宾客消费明细。

(3)选择房间号,填写后点击查询按钮在店宾客消费里会显示所选房间号的在店宾客消费明细。

离店宾客消费查询

1、功能

根据结账时间、账单号、房间号来查询已经离店的宾客消费内容。

2、界面

图4-12 离店宾客消费查询

3、操作指南

(1)点击菜单“营业查询→离店宾客消费查询”进入“离店宾客消费查询”界面。

(2)选择账单时间后,填写起始时间和终止时间后点击查询按钮,在离店宾客里会显示这一段时间的离店宾客消费内容。

(3)选择姓名/房间号/账单号后,填写内容后点击查询按钮,在结账状态信息里会显示某房间、某个账单号的离店宾客消费内容。

客户管理

基本信息管理

1、功能

此模块用于增加客户、修改客户信息、删除客户、客户信息的查询、导出和打印等功能。

2、界面

图4-13 客人基本信息管理

3、操作指南

(1)点击菜单“客户管理→基本信息管理”(或点击主窗口中的快捷按钮“客户管理”)进入客户“基本信息管理”界面(如图4-13)。

(2)增加客户:点击本窗口中点击“增加”按钮即弹出增加客户窗口,在此窗口中输入客户的基本信息后点击“确定”按钮后完成一次增加任务并返回“基本信息管理”窗口,(注:增加客户窗口中的客户等级只能随着客户积分的改变而改变,客户的初始积分可在“系统设置中”设置。)

(3)修改客户信息:在本窗口的数据表中选择要修改的客户信息(可通过查询的方式找到要修改的客户信息)后点击“修改”按钮即弹出修改客户信息窗口,操作方法同增加客户。

(4)删除客户:在本窗口的数据表中选择要删除的客户(可通过查询的方式找到要修改的客户信息)后点击“删除”按钮,弹出一提示窗口,“删除后将不能恢复,确定要删除吗?”,点击“是”执行删除,点击“否”则不做删除操作。

来宾信息管理

1、功能

用来查询来宾的信息内容。

2、界面

图4-14 来宾信息管理一览表

3、操作指南

(1)点击菜单“客户管理→客户消费信息”进入“客户消费信息”界面(如图4-14)。

(2)进入来宾信息一览表窗口中可指定客户的编号或姓名来查询符合条件客户的所有信息。

系统维护

房间项目设置

1、功能

设置房间状态、添加房间类型、添加房间数量、删除房间、删除房间类型等。

2、界面

图4-15 系统设置

3、操作指南

(1)点击菜单“系统维护→系统设置→房间项目设置”进入“房间项目设置”界面。

(2)点击添加类型则会显示填写内容后点击保存按钮则会添加房间类型

(3)选中房间类型点击修改类型则会显示填写内容后点击保存按钮则会修改房间类型

(4)选中房间类型点击删除类型则会删除被选择的房间类型。

(5)选中房间类型点击房费打折则会显示填写内容后点击保存按钮则会修改房间打折

(6)点击单个添加则会显示填写内容后点击保存按钮则会添加单个房间。

(7)点击批量添加则会显示填写内容后点击保存按钮则会批量添加房间。

(8)选中房间号点击删除类型则会删除被选择的房间。

(9)选中房间类型点击修改房间则会显示填写内容后点击保存按钮则会修改此房间。

客户类型设置

1、功能

添加、修改、删除客户类型等。

2、界面

图4-16 客户类型设置

3、操作指南

(1)点击菜单“系统维护→系统设置→客户类型设置”进入“客户类型设置”界面。

(2)点击添加类型,填写内容后点击确定则会添加客户类型。

(3)点击修改类,填写内容后点击确定则会修改客户类型。

(4)选中客户类型点击删除类型则会删除被选择的客户类型。

操作员设置

1、功能

对操作员进行修改、删除添加等。

2、界面

图4-17 操作员设置

3、操作指南

(1)点击菜单“系统维护→系统设置→操作员设置”进入“操作员设置”界面。

(2)选择操作范围新用户登记,填写:用户名密码等点击登记则会加入系统中。

(3)选择操作范围修改密码,填写内容完毕点击修改则系统会修改信息。

(4)选中被删除的操作员,选择操作范围删除用户,点击删除则系统会删除选中的操作员。

计费设置

1、功能

设置房间的计费内容等。

2、界面

图4-18 计费设置

3、操作指南

(1)点击菜单“系统维护→系统设置→计费设置”进入“计费设置”界面。

(2)填写内容后点击保存按键,系统会应用设置。


第5章 系统测试

软件测试的目标是为了发现软件中的错误,而发现错误并不是最终的目标,通过测试发现错误之后还必须诊断并改正错误,这就是测试的目的。

一般大型软件系统的测试基本上包括5个步骤:模块测试、子系统测试、系统测试、验收测试和平行运行。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它作必要的测试,模块的编写者和测试者是同一个人,编码和模块测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。

我在系统的测试中主要采用上述的步骤测试方法大部分采用“白盒测试”因为程序的编写由我一个人完成,程序的流程很清楚,在编写过程中也出现过很多错误,甚至根本无法运行下去,采用程序中的设置断点,进行断点测试,逐步缩小范围并最终找到问题的解。在编写的过程中一边编写一边进行测试,发现错误立刻更正尽量使模块功能更贴近用户。在测试过程中,我尽量站在用户的角度考虑问题,假如我是用户如何才能更方便,假如我在某一时刻进行某种操作会产生什么结果,大量进行假设。并请同学帮忙作为用户试使用系统并提出建议意见。在所有模块功能完成后,先测试了一个模块的功能,能够实现后,再对其它模块进行编写、测试,在这个过程中,往往又会返回到刚才的模块,再次改进。如此反复当所有模块测试完成后,便对子系统分别测试,输入大量数据并尽可能多的假设“非正常情况”以测试系统的健壮性。待这些测试都通过后就对整个系统进行测试。我所采用的测试方式属于集成测试中的渐增式测试,这种方法实际上同时完成单元测试和集成测试,其优点有:

1、开销小,因为其利用已测试过的模块作为测试软件。

2、可以较早发现模块间的接口错误。

3、在测试时,如发现错误往往和最近加进来的那个模块有关。

4、已测试的模块可以在新的条件下再次检验,使测试更彻底。

经过系统测试并修改之后,系统基本上完成了在任务书中所要求的功能。


第6章 结论

经过三个多月的设计和开发,油缘宾馆客人档案管理系统基本开发完毕。其功能基本符合用户需求,能够完成宾馆日程管理功能,对于数据的一致性的问题也通过程序进行了有效的解决。

但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观等多方面问题。这些都有待进一步改善。


参考文献

[1] Simon Robinson, Allen.C#高级编程. 北京:清华大学出版社, 2002.

[2] Tom Archer. C#技术内幕.北京:清华大学出版社, 2002.

[3] 沉舟.编程语言C#.北京:希望电子出版社, 2001.

[4] 电脑编程技巧与维护杂志社.C#编程技巧典型案例解析. 北京:中国电力出版社,

2005.

[5] 云颠工作室. Visual C#中文版全面剖析. 北京:中国水利水电出版社, 2003.

[6] 陈圣国编著. 信息系统分析与设计. 西安:西安电子科技大学出版社,2001.

[7] 张海潘著. 软件工程导论. 北京:清华大学出版社, 2003 .

[8] 王晟著. Visual C#.NET数据库开发经典案例解析. 清华大学出版社, 北京:2005.

[9] 汪星明,周山芙著. 管理系统中计算机应用. 武汉大学出版社, 武汉:2004.

[10] 郑阿奇,刘启芬,顾韵华著. SQL Server实用教程. 电子工业出版社,北京:2002.

[11] 张哲峰译. Windows应用高级编程-C#编程篇. 清华大学出版社,北京:2003.


致 谢

论文完成特别要感谢的是我的指导老师——郭雪云老师,郭老师认真负责的工作态度、严谨的治学风格,使我深受启发;系统开发的同时,和同学们之间的相互探讨也使我获益匪浅。通过这学期的毕业设计,我除基本学会开发数据库外更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。所以我再次感谢老师和我的同学们。


附 录

using System;

using ;

using ;

using ;

using ;

using Hotel

{

public partial class MemberManageForm : Form

{

private DataSet dataset = new DataSet();

private SqlDataAdapter dataAdapter;

public MemberManageForm()

{

InitializeComponent();

= @"C#皮肤\皮肤\Wave\";

}

private void MemberManageForm_Load(object sender, EventArgs e)

{

Members();

}

private void Members()

{

string sql = "select CusID,ID,Name,CardID,Sex,Address,Tel from Member";

dataAdapter = new SqlDataAdapter(sql, ;

(dataset, "Member");

= ["Member"];

}

private void btnDemand_Click(object sender, EventArgs e)

{

dataset = new DataSet();

string sql = ("select ID,Name,CardID,Sex,Address,Tel from Member where Name like '{0}%'", ;

dataAdapter = new SqlDataAdapter(sql, ;

(dataset, "Member");

= ["Member"];

}

private void btnRefurbish_Click(object sender, EventArgs e)

{

dataset = new DataSet();

Members();

}

private void btnSave_Click(object sender, EventArgs e)

{

DialogResult result = ("确定要修改吗","提示",,;

if(result==

{

SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);

(dataset,"Member");

}

}

private void btnClose_Click(object sender, EventArgs e)

{

();

}

}

}

using System;

using ;

using ;

using ;

using ;

using Hotel

{

public partial class ClientManageFoom : Form

{

private DataSet dataset = new DataSet();//创建DataSet对象

private SqlDataAdapter dataAdapter;//声明一个SqlDataAdapter对象

public ClientManageFoom()

{

InitializeComponent();

= @"C#皮肤\皮肤\Wave\";//插入皮肤

}

private void ClientManageFoom_Load(object sender, EventArgs e)

{

Guest();//dgvGuest插入数据

}

//dgvGuest插入数据

private void Guest()

{

string sql = @"select ,,,,,

from Livein as L inner join CustomerType As C on =";//SQL查询语句

dataAdapter = new SqlDataAdapter(sql, ;//创建SqlDataAdapter对象

(dataset, "Livein"); //使用SqlDataAdapter对象的填充方法

= ["Livein"]; //DATASET里的表插入dgvGuest的数据源

}

private void btnSearch_Click(object sender, EventArgs e)

{

dataset = new DataSet();//重新创建DataSet对象

string sql = (@"select ,,,,,

from Livein as L inner join CustomerType As C on =

where like '{0}%'", ;//SQL查询语句

dataAdapter = new SqlDataAdapter(sql, ;//创建SqlDataAdapter对象

(dataset, "Livein");//使用SqlDataAdapter对象的填充方法

= ["Livein"];//DATASET里的表插入dgvGuest的数据源

}

private void btnRef_Click(object sender, EventArgs e)

{

dataset = new DataSet();//重新创建DataSet对象

Guest();//重新向dgvGuest插入数据

}

}

}


SQL酒店管理系统实例

相关推荐