⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 基于c_的连锁酒店管理系统的设计与实现[1].txt

📁 很有用的,有关信息系统分析与设计的是的安定法啊噶大饿踏歌啊儿歌发而噶
💻 TXT
字号:
计算机与现代化
 2006年第 
8期 
J ISUANJ I YU XIANDAIHUA总第 
132期

文章编号 
:100622475 (2006) 0820113203

基于 
C#的连锁酒店管理系统的设计与实现


胡建华 
,杨 军 


(江西旅游商贸职业学院计算机系 
,江西南昌  
330039)

摘要 
:介绍了基于 
C#开发连锁酒店管理系统 
,采用 
Web Service技术实现 
,提供了一种全新的连锁酒店管理系统模型。

关键词 
:C# ;连锁酒店管理系统 
;Web Service

中图分类号 
:TP311. 52    文献标识码 
:A 

Design and Realization of Chain Cabaret Management System Based on C # Technology 

HU Jian2hua , YANGJun 

tice with Web service technology. Also , a new model of the chain cabaret management system is provided. 

Abstract :This paper introduces development of the chain cabaret management system based on C # technology , which is put into prac2 

酒店服务业的迅速发展,出现了连
(Computer Department , Jiangxi Tourism and Commerce College , Nanchang 330039 , China) 

Key words : C # ; chain cabaret mangement system ; Web Service 

开一家酒店。它的主要要求有 
:
0 引 言①各酒店能互相查询空房情况 
,进行即时调剂 
,

随着旅游业、最大限度地提高入住率。比如一家酒店已经住满 
,若
锁酒店这种经营模式。即一个老板在同一个城市建还有客人来 
,可即时查询到另两家酒店是否有满足客
设或收购了几家酒店 
,使他的服务容量得到了成倍的人要求的空房 
,若有则立刻就能够预订 
,并有专车送

提高。如何构建一个功能较为全面的、低成本、高效客人前往住宿。
益、可扩展的连锁酒店管理系统成为目前需要研究的②集团公司高层管理人员在外地也能及时地了
问题。解各个酒店的各项业务情况。比如入住情况、空房情

国内现有的酒店管理系统都是针对单个酒店开况、预订情况等。
发的 
,各酒店之间信息彼此孤立。这样就会产生一家③收购的两家酒店原来都有完整的酒店管理系
酒店因客满而跑客 
,而另一家连锁店却空房的现象 
,统 
,集团公司不想再投入新的硬件及软件系统 
,而希
无法发挥连锁经营的作用。望新系统能够兼容原来的系统 
,并且能协调工作。

本文将 
Web Services技术引入到连锁酒店管理中④各个酒店内部的歌舞厅、餐厅、桑拿等部门都是独
来。因为相对于传统的分布式技术 
,Web Services具立的 
,但凭酒店的住宿卡能刷卡消费 
,实现一卡通。 
有松耦合、跨平台的特点。利用它不需要更改酒店原
来的软、硬件平台及管理系统就能轻松实现酒店间的2 解决方案与实现方法
信息共享 
,快速构建一个高效、开放、互动型强的连锁在前面提到的这四种需求当中 
,都处在一个异构

酒店管理系统。既节约了成本 
,又实现功能 
,可起到环境中 
,也就是说 
,客户在各个单独的系统模块中 
,已
事半功倍的效果。 
经建立了完善的软件架构。现在需要做的就是有效
1 问题的提出地去沟通这些系统 
,而不是去重新设计。在保留现有
资源的基础上 
,我们实际上是去整合多个异构系统 
,
某家集团公司收购了南昌两家酒店 
,并且还要新而不是去重构它们 
,而这恰恰就是 
Web Service的特

收稿日期 
:2006203222
作者简介 
:胡建华 
(19712),男 
,江西南昌人 
,江西旅游商贸职业学院计算机系副教授 
,硕士 
,研究方向 
:软件工程 
,数据库技术 
;
杨军 
(19822),男 
,江西萍乡人 
,助讲 
,本科 
,研究方向 
:数据库开发。



114

计 算 机 与 现 代 化 
2006年第 
8期

Com. Parameters[″
Direction. Input ; 
Com. Parameters [″
tion. Input ; 
,所以我们决定通过 
Web Service来解决这个案例。 


Web Service本质上就是一个异构平台下的远程
过程调用 
(RPC -Remote Procedure Call)。Web Service
服务首先是一种提供服务的应用程序逻辑 
;其次它建
立在被普遍接受的标准协议之上 
,因此它可以被任意
的系统和开发语言所支持 
;最后 
,它主要由程序代码
使用 
,而不是最终用户。

在异构的环境中 
,存在着各种各样的硬件设备和
操作系统 
,运行着使用不同语言、不同技术开发的应
用程序。但是这些异构系统之间却存在着一个共同
之处 
,即它们使用标准的 
HTTP协议连接到 
Internet
,并传送着标准的 
HTML页面。正是这些标准的使
,Internet才会如此迅速地发展 
,而 
Web Service服务
正是建立在标准的协议和规范之上。任何系统 
,只要
支持这些标准的协议和规范 
,就可以使用 
Web Service
服务 
,因此 
Web Service服务天生就具有跨平台的特
性。 
Web Service的体系结构如图 
1。

鉴于 
Web Service的这种特点 
,我们把 
SOAP消息
附加在 
HTTP消息中传递 
,并通过被各种平台广泛支
持的 
XML来描述数据。 


3 实现方法

我们以远程预定模块为例 
,阐述 
Web Service的
实现方法。

该模块包括服务端和客户端 
,服务端提供远程查询
和远程预定方法 
,而客户端访问由服务端提供的方法。 


3. 1 服务器端
首先 
,创建一个用 
Visual C #描述的 
ASP. NET 
Web服务。在 
Visual Studio. NET中 
,Web服务由两个
部分组成 
:入口点和实现代码。这两部分分开存放于
两个文件中 
,其入口点对应于 
. asmx文件 
,而实现 
Web
服务功能的代码位于后台代码文件 
. asmx. cs中。把
这两个部分分开存放的好处是后台代码文件将被预
先编译成程序集 
,在请求时可以直接装入执行 
,这可
以提高应用程序的性能。远程预定的代码如下 
: 

[ WebMethod ] 
public int HotelReserve ( string strRoomID , string strRoomType , 


string strRoomPrice) 
{SqlConnection Con = new SqlConnection(connStr) ; 
//访问指定的存储过程 
“pHotelReserve”,完成预定 


SqlCommand Com = new SqlCommand(″pHotelReserve″,Con) ; 

Com. CommandType = CommandType. StoredProcedure ; 

//设置输入参数 


Com. Parameters. Add ( newSqlParameter (″@RoomID″, SqlDb2 
Type.VarChar,20)) ; 
Com. Parameters. Add ( new SqlParameter (″@ RoomType″, 
SqlDbType.VarChar,20)) ; 
Com. Parameters. Add ( new SqlParameter (″@ RoomPrice″, 
SqlDbType.VarChar,20)) ; 
Com. Parameters. Add ( new SqlParameter (″@ ReserveID″, 
SqlDbType.VarChar,20)) ; 

Com. Parameters[″@RoomID″]. Value = strRoomID ; 

Com. Parameters[″@RoomType″]. Value = strRoomType ; 

Com. Parameters[″@RoomPrice″]. Value = strRoomPrice ; 

//预订编号由函数 
GetNewID()获得 


Com. Parameters[″@ReserveID″]. Value = GetNewID() ; 

Com. Parameters[″@RoomID″]. Direction = ParameterDirection. 
Input ; 
Com. Parameters [
@RoomRoomPrice″@RoomType″]. Direction = ParameterDirec2 
tion. Input ; 
″]. Direction = Parameter2 

@ReserveID″]. Direction = ParameterDirec2 

//设置输出参数 
Com. Parameters. Add ( new SqlParameter (″@Result″, SqlDb2 
Type.SmallInt)) ; 
Com. Parameters [″@Result″]. Direction = ParameterDirection. 

Output ; 

Com. ExecuteNonQuery() ; 

//返回结果 
,1表示成功执行 
,0表示预订不成功 


return Com. Parameters[″@Result″].Value. ToString() ;} 

3. 2 客户端
我们要想建立客户端去访问 
Web Service的话 
,
必须通过两个步骤。首先 
,定位 
Web服务并生成相
应的 
Web服务代理类 
;然后 
,在客户程序中把代理类
实例化 
;最后 
,调用实例化的对象 
,去访问 
Web Service

提供的方法。其过程和部分代码实现如下 
:

①输入 
WSDL文档地址。
②根据输入的 
WSDL文档的地址获取 
WSDL文
档的内容。 
WebRequest req = WebRequest. Create(uri) ; 

WebResponse result = req. GetResponse() ;

③使用相应的类从 
WSDL文档生成 
C#源代码。 
CodeNamespace cns = new CodeNamespace(″HotelReserve″); 
//创建对象用来生成代理类源程序 
CodeCompileUnit ccu = new CodeCompileUnit() ; 
ccu. Namespaces. Add(cns) ; 
ServiceDescriptionImporter sdi = new ServiceDescriptionImporter 
() ; 
sdi.AddServiceDescription(sd,null,null) ; 
sdi. ProtocolName =protocalName; 
//从指定命名空间导入 




115

 2006年第 
8期 
胡建华等 
:基于 
C#的连锁酒店管理系统的设计与实现

sdi.Import (cns,ccu) ;

④对生成的源代码进行相应的修改 
,以使之符合
要求 
CSharpCodeProvider cscp = new CSharpCodeProvider() ; 
CompilerParameters cp = new CompilerParameters() ; 
cp.OutputAssembly = assfileName ; 
//导入程序集 
cp. ReferencedAssemblies.Add(″System. dll″); 
cp. ReferencedAssemblies.Add(″System. Xml. dll″); 
cp. ReferencedAssemblies.Add(″System. Web. Services. dll″); 
cp. ReferencedAssemblies.Add(″System.Data. dll″);


⑤使用相应的类编码源代码 
,并把它保存在一个
临时的程序集文件 
(. dll)中。 
ICodeCompiler icc = cscp. CreateCompiler() ; 
//编译源代码并生成程序集 


CompilerResults cr = icc. CompileAssemblyFromDom ( cp , 

ccu) ; 
if (true = = cr. Errors. HasErrors) 
{ StringBuilder sb = new StringBuilder() ; 

类对象。 


/ /获取程序集中的所有类型
Type[ ] types = asm. GetTypes() ; 
foreach(Type t in types) 
{if (t.Base Type = = typeof (System. Web. Services. Protocols. 


SoapHttpClientProtocol) ) 
//如果找到代理类就访回它所对应类型的对象实例 
{ return asm. CreateInstance(t. FullName) ;} }

⑦实例化代理类对象 
,为程序提供访问 
Web Ser2
vice的途径。 
HotelReserve HR = new HotelReserve() ;

⑧利用 
Web Service提供的公共方法进行预定。 
Int intResult = HR. HotelReserve ( strRoomID , strRoomType , str2 
RoomPrice) ; 

If (intResult = = 1 ) 

MessageBox. Show (″预定成功″ 
,″提示″ 
,MessageBoxButtons. 
OK,MessageBoxIcon. Information) ; 

Else if (intResult = = 0) 

MessageBox. Show (″预定不成功″ 
,″提示″ 
, MessageBoxBut2 

tons.OK,MessageBoxIcon. Information) ; 

4 结束语

foreach
⑥从临时的程序集文件加载程序集并生成代理
Assembly asm = Assembly. LoadFrom(assfileName) ;
(CompilerError ce in cr. Errors) 
向服务构架—
需要跨平台的系统中 
,它是目前最流行的面
{ sb.Append(ce. ToString()) ; ——SOA的基础。 
Web Service促进开源
sb.Append(System. Environment.NewLine) ;} 软件的发展。发展开源软件是时代的潮流 
,也是国家
throw new Exception(sb. ToString()) ;}安全的需要。总之 
,web Services技术有很高的使用

目前 
Web Service技术主要应用在实时性要求不
是很高、


价值 
,它值得我们不断地研究发展。

参考文献 
: 

[1] 陆昆仑 
,李旭东 
,吴媛静 
. Web Service编程 
:用 
C# .NET开发
网络服务 
[M].北京 
:北京希望电子出版社 
,2003. 
[2] 蔡月茹 
. Web Service基础教程基础教程繁更 
[M].北
:机械工业出版社 
,2005. 
(上接第 
112页)


8 质量评估界面 


3 结束语

  采用关系数据库技术 
,以 
Windows为操作系统平
,采用面向对象的数据库编程语言实现了该系统。
应用该系统的使用使日处理水样由手工管理时的 
4
5批上升到日处理 
30多批 
,大大提高了工作效率 
,
提高数据的准确性和可靠度 
,提高管理水平。

参考文献 
: 

[1] 沈惠璋 
,等. Visual Foxpro 6. 0面向对象的程序设计 
[M].
北京 
:清华大学出版社 
,1999. 1~295 
[2] 吴迪 
,等. Visual Foxpro 6. 0函数手册 
[M].北京 
:清华大
学出版社 
,2001. 1~313. 
[3 ] 吴迪 
,等. Visual Foxpro 6. 0命令手册 
[M].北京 
:清华大
学出版社 
,2001. 1~356. 
[4 ] 
 DZ/ T 013022002 ,地质矿产实验室测试质量管理规范 
[ S]. 
[5] GB853721995 ,饮用天然矿泉水标准 
[ S]. 
[6] GB1732321998 ,瓶装饮用纯净水标准 
[ S]. 
[7] GB5749285 ,生活饮用水卫生标准 
[ S]. 
[8] DB41/ 27922001 ,瓶装饮用净水标准 
[ S]. 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -