当前位置:
文档之家› 基于C_的连锁酒店管理系统的设计与实现_胡建华
基于C_的连锁酒店管理系统的设计与实现_胡建华
摘要 :介绍了基于 C#开发连锁酒店管理系统 , 采用 Web Service 技术实现 , 提供了一种全新的连锁酒 店管理系统模型 。 关键词 :C #;连锁酒店管 理系统 ;Web Service 中图分类号 :TP311.52 文献标识码 :A
Design and Realization of Chain Cabaret Management System Based on C # Technology
CodeNamespace cns=new CodeNamespace(″HotelReserve″); // 创建对象用来生成代理类源程序 CodeCompileUnit ccu = new CodeCompileUnit(); ccu .Nam esp aces .Add(cns); ServiceDescriptionImporter sdi =new ServiceDescriptionImporter (); sdi.AddServiceDescription(sd, null, null); sdi.ProtocolName =protocalName ; // 从指定命名空间导入
SqlCommand Com=new SqlCommand(″pHotelReserve″, Con); mandType =CommandType .StoredProcedure ; // 设置输入参数 Com.Parameters.Add(newSqlParameter(″@RoomID″, SqlDbType .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[ ″@ RoomType″] .Direction =ParameterDirection .Input; Com.Parameters[ ″@RoomRoomPrice″] .Direction =ParameterDi rection .Inpu t ; Com.Parameters[ ″@ReserveID″] .Direction =ParameterDirection .Input; // 设置输出参数 Com.Parameters.Add(new SqlParameter(″@ Result″, SqlDbType .SmallInt)); Com.Parameters[ ″@Result″] .Direction =ParameterDirection. Output ; Com .ExecuteNonQu ery(); // 返回结果 , 1 表示成功执 行 , 0 表示预订不成功 return Com.Parameters[ ″@Result″] .Value .ToString();}
收稿日期 :2006-03-22 作者简介 :胡建华(1971-), 男 , 江西 南昌人 , 江西旅游商贸职业学院计算机系副教授 , 硕士 , 研究方 向 :软件工程 , 数据库技术 ; 杨军(1982-), 男 , 江西萍乡人 , 助讲 , 本科 , 研 究方向 :数据库开发 。
1 14
计 算 机 与 现 代 化
3 .2 客户端
我们要想建立客户 端去访问 Web Service 的话 , 必须通过两个步 骤 。 首先 , 定 位 Web 服务并生成相 应的 Web 服务代理类 ;然后 , 在客户程序中把代理类 实例化 ;最后 , 调用实例化的对象 , 去访问 Web Service 提供的方法 。其过程和部分代码实现如下 :
②集团公司高层管理人员在外地也能及时地了 解各个酒店的各项业务情况 。 比如入住情况 、空房情 况 、预订情况等 。
③收购的两家酒店原来都有完整的酒店管理系 统 , 集团公司不想再投入新的硬件及软件系统 , 而希 望新系统能够兼容原来的系统 , 并且能协调工作 。
④各个酒店内部的歌舞厅 、餐厅、桑拿等部门都是独 立的 ,但凭酒店的住宿卡能刷卡消费 ,实现一卡通。
2 解决方案与实现方法
在前面提到的这四种需求当中 , 都处在一个异构 环境中 , 也就是说 , 客户在各个单独的系统模块中 , 已 经建立了完善的软件架构 。 现在需要做的就是有效 地去沟通这些系统 , 而不是去重新设计 。 在保留现有 资源的基础上 , 我们实际上是去整合多个异构系统 , 而不是去重构它们 , 而这恰恰就是 Web Service 的特
2006 年第 8 期 文章编号 :1006-2475(2006)08-0113-03
计 算机 与 现 代 化 JISUANJI YU XIANDAIHUA
总第 132 期
基于 C #的连锁酒店管理系统的设计与实现
胡建华 , 杨 军
(江西旅游商贸职业学院计算机系 , 江西 南昌 330039)
[ WebMethod] public int HotelReserve(string strRoomID , string strRoomType , string strRoomPrice) {SqlConnection Con=new SqlConnection(connStr); / / 访问指定的存储过程“pHotelReserve” , 完成预定
2006 年第 8 期
长 , 所以我们决定通过 Web Service 来解决这个案例 。 Web Service 本质上就是一个异构平台下的远程
过程调用(RPC - Remote Procedure Call)。Web Service 服务首先是一种提供服务的应用程序逻辑 ;其次它建 立在被普遍接受的标准协议之上 , 因此它可以被任意 的系统和开发语言所支持 ;最后 , 它主要由程序代码 使用 , 而不是最终用户 。
①输入 WSDL 文档地址 。 ②根据输入的 WSDL 文档的地址获 取 WSDL 文 档的内容 。
WebRequest req=WebRequest.Create(uri); WebResponse result =req .GetResponse();
③使用相应的类从 WSDL 文档生成 C #源代码 。
2006 年第 8 期
胡建华等 :基于 C #的连锁酒店管理系统的设计与实现
1 15
sdi.Import(cns , ccu);
④对生成的源代码进arpCodeProvider 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″);
HU Jian-hua , YANG Jun
(Computer Department, Jiangxi Tourism and Commerce College , Nanchang 330039 , China)
Abstract :This paper introduces development of the chain cabaret management system based on C # technology , which is put into practice with Web service technology .Also , a new model of the chain cabaret management system is provided. Key words:C #;chain cabaret mangement system;Web Service
0 引 言
随着旅游业 、酒店服务业的迅速发展 , 出现了连 锁酒店这种经营模式 。 即一个老板在同一个城市建 设或收购了几家酒店 , 使他的服务容量得到了成倍的 提高 。 如何构建一个功能较为全面的 、低成本 、高效 益 、可扩展的连锁酒店管理系统成为目前需要研究的 问题 。
国内现有的酒店管理系统都是针对单个酒店开 发的 , 各酒店之间信息彼此孤立 。 这样就会产生一家 酒店因客满而跑客 , 而另一家连锁店却空房的现象 , 无法发挥连锁经营的作用 。
本文将 Web Services 技术引入到连锁酒店管理中 来 。因为相对于传统的分布式技术 , Web Services 具 有松耦合 、跨平台的特点 。利用它不需要更改酒店原 来的软 、硬件平台及管理系统就能轻松实现酒店间的 信息共享 , 快速构建一个高效 、开放 、互动型强的连锁 酒店管理系统 。 既节约了成本 , 又实现功能 , 可起到 事半功倍的效果 。