毕业设计(论文)-基于aspnet系统的酒店订单管理系统.doc_第1页
毕业设计(论文)-基于aspnet系统的酒店订单管理系统.doc_第2页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

hotel- order management system based on asp.net【abstract】 with the rapid development of computer networks, internet technology becomes more widely used, expanding network coverage area, to bring the hotel industry booming computer application opportunities. a new computer network and management system, will be the hotel management to improve efficiency and improve the standard of service is one important means. but now the vast majority of small and medium sized hotels, guest houses due to financial, personnel, and many other reasons not easy to use hotel management software category, won by the original manual records management, low efficiency, error-prone; the same time, appearing on the market various types of hotel occupancy information management software is basically designed for large hotel professional, there are a lot of features for the average hotel, hotels do not have access. more critical is the hotel occupancy information management software is based on client / server, guests booking complicated operation and the cost is not low. c/s system software the scope of application of expanded, with investment will be voluminous so b / s structure of the city hotel occupancy hotel business information management system is an indispensable modern tools for cost control thesis, b / s system architecture, developed by the system each module has been designed, and the help of visual studio 2005 development environment. net platform, dynamic web programming using asp.net and sql sever 2005 database, the system achieved the main function. 【key words】 hotel management b / s system architecture cost control 目 录绪论- 4 -1 论文体系结构- 5 -1.1 研究内容- 5 -1.2采用的研究思路- 5 -1.3论文结构组织- 5 -2 相关应用技术- 6 -2.1 c#概述- 6 -2.1.1 c#- 6 -2.1.2 .net框架- 7 -2.2 asp.net概述- 9 -2.2.1 asp.net- 9 -2.2.2页和控件框架- 9 -2.2.3 asp.net编译器- 10 -2.2.4 安全基础结构- 10 -2.2.5状态管理功能- 10 -2.2.6应用程序配置- 11 -2.2.7运行状态监视和性能功能- 11 -2.3 数据库- 11 -2.4 xml技术- 13 -2.5 数据库访问技术- 14 -3酒店订单管理系统的设计与实现- 17 -3.1 酒店订单管理系统构架- 17 -3.2酒店订单管理系统的总体设计- 18 -3.2.1 本系统功能模块设计- 18 -3.2.2数据库设计- 19 -3.2.3数据流图- 20 -3.2.4 数据库操作方法- 21 -3.3 系统管理人员端功能实现- 22 -3.3.1管理员登陆功能- 22 -4 成本控制- 24 -4.1系统投入运行前的成本控制- 24 -4.2人工成本控制- 24 -4.3系统投入运行时的成本控制- 24 -4.4服务器升级时的成本控制- 24 -5 系统功能界面展示- 25 -5.1系统流程图- 25 -5.2系统主界面- 25 -5.3登陆界面- 26 -5.4 管理员功能主界面- 28 -5.5房间订单管理界面- 28 -5.6客户意见管理界面- 29 -5.7普通用户主功能界面- 30 -5.8 用户订房功能界面- 31 -5.9 根据用户描述推荐房间功能界面- 32 -5.10用户意见交流功能界面- 33 -结论- 33 -参考文献- 34 -附 录:- 35 -致 谢- 41 - 39 -绪论国外的酒店管理系统最早是于70年代初发展起来的,到了80年代,国外的酒店管理系统,如eeco(electronic engineering co.)、his(hotel information system)、cls、lodgistix等,整个模式已基本定型,技术较成熟,功能也齐全。国内的酒店计算机管理系统最早是在80年代初开始的,从事该方面工作的有清华大学自动化系的金国芬教授、西安交大和浙江省计算技术研究所。到了80年代中后期,随着国外饭店计算机系统和先进管理技术的大规模引进,进一步促进了我国酒店管理技术的发展。国内酒店管理系统正是在充分吸收国外管理系统的精华,结合国内实际的情况下逐步发展成熟,到90年代初期形成了几个较成熟的软件系统,同时产生了许多专职从事酒店计算机管理系统的公司。其中比较有影响的有杭州西欧foxhis饭店管理系统、北京中软好泰cshis管理系统、北京华仪饭店管理系统和广州万迅千里马饭店管理系统。到了90年代中期,随着计算机在饭店中的普及应用,以及计算机技术的不断发展,酒店计算机系统的发展到了一个新的时期,新的系统平台、新的软件功能、新的系统特点及发展方向不断涌现。 1 论文体系结构1.1 研究内容1、客户不需要注册,便可以免费进行客房预订,预定成功之后,后台管理员会对其订单进行及时处理,并打电话进行最终确定。2、提供管理后台入口。3、系统提供分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。4、系统提供房间信息查询5、系统提供根据客户简单描述推荐房间6、全面管理客人订房信息。7、管理客房服务信息。8、管理客人反馈留言信息。9、整个系统的成本控制1.2采用的研究思路现在专业的酒店订单管理软件已经比较成熟,功能比较完善,但是价格不菲。本系统功能比较清楚简单,所以系统设计也并不是很复杂,那么重点就放在了解决小型酒店资金不充裕,人员素质参差不齐难以操作专业的软件等方面。所以成本控制和易于操作是该系统主要研究的方向。目前国内的酒店管理系统绝大多数采用c/s结构,主要原因是由于过去互联网的不发达和习惯性。c/s和b/s是当今世界开发模式技术架构的两大主流技术,经过调查收集发现基于web开发是最好的选择。本系统确定利用目前较为流行的.net技术、sql server数据库技术和xml技术结合的方式进行编程的方法。经过前一段时间的研究,进一步确定了这种方法的可行性和创新性。1.3论文结构组织 本论文分为五个章节,具体组织如下: 第一章:“系统体系结构”,讲述本文系统功能概述、采用的研究思路及论文结构组织。 第二章:“相关应用技术”,对asp.net及.net框架进行了描述,对sql server 数据库及数据库访问技术进行了相应的描述,最后对xml技术进行了介绍。 第三章:“酒店订单管理系统的设计与实现”,对整个系统的设计与实现进行详细的介绍,并介绍了系统所使用的关键技术的实现方法。第四章:“成本控制”,对本系统所做到的成本控制方面进行介绍。第五章:“系统功能界面展示”,对本系统的主要功能界面进行展示。2 相关应用技术2.1 c#概述2.1.1 c# c sharp(又被简称为c#)是微软公司在二零零零年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(pdc)上登台亮相。 c#是微软公司研究员anders hejlsberg的最新成果。c#看起来与java有着惊人的相似;它包括了诸如单一继承,界面,与java几乎同样的语法,和编译成中间代码再运行的过程。但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司.net windows网络框架的主角。微软c#语言定义主要是从c和c+继承而来的,而且语言中的许多元素也反映了这一点。c#在设计者从c+继承的可选选项方面比java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义)。c#拥有比c,c+或者java更广泛的数据类型。这些类型是bool, byte,ubyte, short, ushort, int, uint, long,, ulong, float,double和decimal。像java一样,所有这些类型都有一个固定的大小。又象c和c+一样,每个数据类型都有有符号和无符号两种类型。与java相同的是,一个字符变量包含的是一个16位的unicode字符。c#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。c#语言中的每一个类型都直接或间接派生于object类型,即object类型是c#语言所有类型的最终基类型。c#语言的类型可以分为以下3种类型。值类型(value-type):它的变量直接包含数据。引用类型(reference-type):它的变量只储存对其数据的引用(即访问其数据的访问地址)。指针类型(point-type):和c、c+语言中的指针类似,只能用作在不安全代码中。c#也是一种面向对象的语言,c# 支持封装、继承和多态性概念。所有的变量和方法,包括 main 方法(应用程序的入口点),都封装在类定义中。通过继承、多态性等技术,类可以从另一个类派生而来,同时也可以实现任意数量的接口。类可能直接从一个父类继承,但它可以实现任意数量的接口。重写父类中的虚方法的各种方法要求 override 关键字作为一种避免意外重定义的方式。除了这些基本的面向对象的原理,c# 还通过几种创新的语言结构简化了软件组件的开发,其中包括:1.语言集成查询(linq):提供了跨各种数据源的内置查询功能。2.内联 xml 文档注释。3.封装的方法签名(称为“委托”):它实现了类型安全的事件通知。4.属性 (attribute),提供关于运行时类型的声明性元数据。 5. 属性 (property),充当私有成员变量的访问器。在 c# 中,如果需要与其他 windows 软件(如 com 对象或本机 win32 dll)交互,可以通过一个称为“interop”的过程来实现。互操作使 c# 程序能够完成本机 c+ 应用程序可以完成的几乎任何任务。在直接内存访问必不可少的情况下,c# 甚至支持指针和“不安全”代码的概念。2.1.2 .net框架 c# 程序必须在 .net framework 上运行。.net framework 是windows 的一个不可或缺的组件,是一个支持构建、部署和运行下一代应用程序和web服务的完整windows组件。.net framework能够提供效率极高的、基于标准的多语言(如c#、visual basic.net、c+、j#等)环境,能够将现有的应用程序与下一代应用程序和服务集成,并能迅速部署和操作internet规模的应用程序。.net framework主要包括两个组件:公共语言运行库(common language runtime,简称clr)和.net framework类库(class library,简称为cl)。1.公关语言运行库(clr)公关语言运行库是microsoft的公共语言基础结构(简写为cli,是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础)的商业实现。它是.net framework的基础,它能够提供内存管理、线程管理、远程处理等核心服务,并且还强制实施严格的类型安全检查操作,从而提高代码的安全性、可靠性和准确性。执行 c# 程序时,程序集将加载到 clr 中,这可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,clr 执行实时 (jit) 编译以将 il 代码转换为本机机器指令。clr 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 clr 执行的代码有时称为“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。2. .net framework类库.net framework类库是一个综合性的面向对象的可重用类型集合,包含4000多个类。开发人员使用.net framework类库可以开发以下8种应用程序或服务。控制台应用程序;windows窗体应用程序;asp.net应用程序;windows服务;xml web services;windows presentation foundation(wpf)应用程序;使用windows communication foundation(wcf)的面向服务的应用程序使用windows workflow foundation(wf)的启用工作流程的应用程序。.net framework图2-1演示了 c# 源代码文件、基类库、程序集和 clr 的编译时与运行时的关系。图2-1 c# 源代码文件、基类库、程序集和 clr 的编译时与运行时的关系语言互操作性是 .net framework 的一个关键功能。因为由 c# 编译器生成的 il 代码符合公共类型规范 (cts),因此从 c# 生成的 il 代码可以与从 visual basic、visual c+、visual j# 的 .net 版本或者其他 20 多种符合 cts 的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同 .net 语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。2.2 asp.net概述2.2.1 asp.net asp.net不仅仅是下一版本的active server page(asp);而是一个统一的 web 开发平台,用来提供开发人员生成企业级web应用程序所必需的各种服务。asp.net 的语法在很大程度上与asp兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。asp.net 作为 .net framework 的一部分提供。当您编写 asp.net 应用程序的代码时,可以访问 .net framework 中的类。您可以使用与公共语言运行库 (clr) 兼容的任何语言来编写应用程序的代码,这些语言包括 microsoft visual basic、c#、jscript .net 和 j#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 asp.net 应用程序。asp.net 包括:页和控件框架asp.net 编译器安全基础结构状态管理功能应用程序配置运行状况监视和性能功能调试支持xml web services 框架可扩展的宿主环境和应用程序生命周期管理可扩展的设计器环境2.2.2页和控件框架asp.net 页和控件框架是一种编程框架, asp.net web窗体页面框架组件是一个可缩放的通用语言运行时编程模型,它可以用于动态地生成web页面。asp.net页面框架组件是asp的合理进化(asp.net提供的语法与已有的页面是兼容的),它被特意地设计用于解决早期模型中的大量的关键的缺陷。特别是,它提供了建立和使用可供重复使用的(reusable)ui控件的能力,这些控件可以封装公用的功能,从而减少了页面开发者需要编写的代码数量;它使开发者能够清晰有序地构造页面逻辑(并非“缠绕在一起的代码”);它使用的开发工具提供了强大的wysiwyg(所见即所得)页面设计支持能力(已有的传统asp代码是不透明的)。使用 asp.net 页和控件框架还可以将常用的 ui 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 asp.net 网页中。这些控件在呈现期间放入 asp.net 网页中。asp.net 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。在asp.net中,在母页版、主题和皮肤以及编译机制等页面框架做了相应的改进。母页版在一定程度上可以代替框架页,从而建立具有统一外观和布局的页面,大大提高了工作的效率。使用主题和皮肤可以一次性设置一种类型的服务器控件外观样式,该外观样式可以在单个页面、整个web应用程序、这个服务器中应用。在应用程序编译方面提供了几种可替代的方案,扩大了编译的选择范围,开发人员可以根据需要选择相应的方案。 asp.net 网页是完全面向对象的。在 asp.net 网页中,可以使用属性、方法和事件来处理 html 元素。asp.net 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。asp.net 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。2.2.3 asp.net编译器所有 asp.net 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 asp.net 编译为本机代码,从而提供增强的性能。asp.net 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 asp.net 宿主环境可以使用该程序集来处理用户请求。2.2.4 安全基础结构除了 .net 的安全功能外,asp.net 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 iis 提供的 windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 asp.net forms 身份验证和 asp.net 成员资格来管理身份验证。此外,可以使用 windows 组或您自己的自定义角色数据库(使用 asp.net 角色)来管理 web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。asp.net 始终使用特定的 windows 标识运行,因此,您可以通过使用 windows 功能(例如 ntfs 访问控制列表 (acl)、数据库权限等等)来保护应用程序的安全。2.2.5状态管理功能asp.net 提供了内部状态管理功能,它使您能够存储页请求期间的信息,例如客户信息或购物车的内容。您可以保存和管理应用程序特定、会话特定、页特定、用户特定和开发人员定义的信息。此信息可以独立于页上的任何控件。asp.net 提供了分布式状态功能,使您能够管理一台计算机或数台计算机上同一应用程序的多个实例的状态信息。2.2.6应用程序配置通过 asp.net 应用程序使用的配置系统,可以定义 web 服务器、网站或单个应用程序的配置设置。您可以在部署 asp.net 应用程序时定义配置设置,并且可以随时添加或修订配置设置,且对运行的 web 应用程序和服务器具有最小的影响。asp.net 配置设置存储在基于 xml 的文件中。由于这些 xml 文件是 ascii 文本文件,因此对 web 应用程序进行配置更改比较简单。您可以扩展配置方案,使其符合自己的要求。2.2.7运行状态监视和性能功能asp.net 包括可监视 asp.net 应用程序的运行状况和性能的功能。使用 asp.net 运行状况监视可以报告关键事件,这些关键事件提供有关应用程序的运行状况和错误情况的信息。这些事件显示诊断和监视特征的组合,并在记录哪些事件以及如何记录事件等方面提供了高度的灵活性。asp.net 支持两组可供应用程序访问的性能计数器:1.asp.net 系统性能计数器组2.asp.net 应用程序性能计数器组2.3 数据库 sql server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。sql server 2005 为it专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,sql server 2005 为不同规模的企业提供了一个完整的数据解决方案。sql server 数据平台包括以下工具:1.关系型数据库: 安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(xml)数据。 2.复制服务: 数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的oracle数据库等。 3.通知服务: 用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。 4.集成服务: 可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。 5.分析服务: 联机分析处理(olap)功能可用于多维存储的大量、复杂的数据集的快速高级分析。 6.报表服务: 全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于web的报表。 7.管理工具: sql server 包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如mom和sms紧密集成在一起。标准数据访问协议大大减少了sql server和现有系统间数据集成所花的时间。此外,构建于sql server内的内嵌web service支持确保了和其他应用及平台的互操作能力。 8.开发工具: sql server 为数据库引擎、数据抽取、转换和装载(etl)、数据挖掘、olap和报表提供了和microsoft visual studio 相集成的开发工具,以实现端到端的应用程序开发能力。sql server中每个主要的子系统都有自己的对象模型和api,能够以任何方式将数据系统扩展到不同的商业环境中。 sql server 2005 数据平台为不同规模的组织提供了以下好处: 1.充分利用数据资产: 除了为业务线和分析应用程序提供一个安全可靠的数据库之外,sql server 2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。 2.提高生产力: 通过全面的商业智能功能,和熟悉的微软office系统之类的工具集成,sql server 2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。sql server 2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产数据来做出更好的决策。 3.减少it复杂度: sql server 2005 简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。 4.更低的总体拥有成本 (tco): 对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。sql server 2005是microsoft公司在数据库领域中非常重要的产品,它具有性能良好、稳定性强、便于管理和易于开发等优势。sql server 2005相对它的前版本sql server 2000所做的重大改进或新增功能如下。1) 数据分区2) 可编程性3) 安全4) 快照隔离sql server 2005还有其它很多非常优秀或重大的改进。比如支持通过http soap协议直接访问数据库,增加xml数据类型,支持xqurey。使用新的sql server management studio。另外,sql server 2005和clr得集成主要提供了如下好处:1)增强的编辑模型。.net framewrok 兼容的编程语言在很多方面要比t-sql更强大,它提供给sql开发人员之前没有的框架和功能。2)安全性。在clr环境下运行的托管代码被数据库引擎所控制,这使得.net framework 数据库更具安全性。3)用户自定义类型和聚合。借助宿主clr,这两个新的数据库对象扩展了sql server的存储和查询能力。4)通用开发环境。数据库开发被集成到microsoft sql server 2005开发环境中。用来开发中间层和客户层.net framework组件和服务的工具同样可以被用来开发和调试数据库对象和脚本。5)性能和可伸缩性。因为托管代码被编译为本机代码得以优先执行,在某些场合性能可以得到显著提升。6)利用clr集成,可以用sql basic .net 和 c#这样的语言写出具有更复杂逻辑的代码和更适用计算机型任务的代码。而且,sql basic .net 和 c# 还提供了诸如封装、继承、多态这样的面向对象的功能。使得更容易把代码和类、命名空间组织在一起,这意味着更容易组织和维护在工作中产生大量代码。这种从逻辑上和物理上把代码组织到程序集和命名空间中的功能非常有用,它将能够更好的再一个大型数据库实现项目中发现和关联不同的代码块。2.4 xml技术xml(extensible markup language)即可扩展标记语言,它与html一样,都是sgml(standard generalized markup language,标准通用标记语言)。xml是internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言xml是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然xml占用的空间比二进制数据要占用更多的空间,但xml极其简单易于掌握和使用。xml语言是一种面向数据的标记规范,xml标记通常总是力求准确清晰地说明数据本身的涵义,即使对于一些非常陌生的xml文件,人们也很容易理解其所要表达的内容,从这个意义上讲,xml数据是完全开放的8。xml没有复杂的语法和包罗万象的数据定义。xml同html一样,都来自sgml(standard genaral markup language,标准通用标记语言)。sgml是一种在web发明之前就早已存在的用标记来描述文档资料的通用语言。但sgml十分庞大且难于学习和使用。鉴于此,人们提出了html语言。但近年来,随着web应用的不断深入,html在需求广泛的应用中已显得捉襟见肘。因此国际万维网协会建议使用一种精简的sgml版本,即xml。xml与access,oracle和sql server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,xml仅仅是展示数据。事实上xml与其他数据表现形式最大的不同是:它极其简单。这是一个看上去有点琐细的优点,但正是这点使xml与众不同。xml与html的设计区别是:xml是用来存储数据的,重在数据本身。而html是用来定义数据的,重在数据的显示模式。xml的简单使其易于在任何应用程序中读写数据,这使xml很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持xml,那就意味着程序可以更容易的与windows、mac os, linux以及其他平台下产生的信息结合,然后可以很容易加载xml数据到程序中并分析他,并以xml格式输出结果。为了使得sgml显得用户友好,xml重新定义了sgml的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得sgml在设计网站时显得复杂化。xml保留了sgml的结构化功能,这样就使得网站设计者可以定义自己的文档类型,xml同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。因为xml是w3c制定的,xml的标准化工作由w3c的xml工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对xml标准的意见,并提出自己的看法 (/tr/wd-xml)。因为xml 是个公共格式, (它不专属于任何一家公司),你不必担心xml技术会成为少数公司的盈利工具,xml不是一个依附于特定浏览器的语言另外,xml也吸收了人们多年来在web上使用html的经验。xml支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用,应用xml的软件能处理这些语言的任何组合。所有这一切将使xml成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应商以及编程语言。它将为网络计算注入新的活力,并为信息技术带来新的机遇。2.5 数据库访问技术随着数据库产品和技术的发展,数据库访问技术也从odbc、dao、rdo、ole db、ado 和 rds发展到今天的ado.net。以下内容由城市刀客整理编辑,旨在为你展示数据库访问技术的概貌。odbc 技术为访问不同的sql 数据库提供了一个共同的接口。odbc 使用 sql 作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 sql 数据库管理系统 (dbms)。开发人员可以添加数据库驱动程序,将应用程序与用户所选的 dbms 联系起来。驱动程序管理器提供应用程序与数据库之间的中间链接。odbc 接口包含一系列功能,由每个 dbms 的驱动程序实现。当应用程序改变它的 dbms 时,开发人员只使用新的 dbms 驱动程序替代旧的驱动程序,并且应用程序可以无需修改代码照常运行。dao 是建立在 microsoft jet microsoft access 的数据库引擎基础之上的。jet 是第一个连接到 access 的面向对象的接口。使用 access 的应用程序可以用 dao 直接访问数据库。由于 dao 是严格按照 access 建模的,因此,使用 dao 是连接 access 数据库最快速、最有效的方法。dao 也可以连接到非 access 数据库,例如,sql server 和 oracle。dao 使用 odbc,但是由于 dao 是专门设计用来与 jet 引擎对话的,jet 将解释 dao 和 odbc 之间的调用。使用除 access 之外的数据库时,这种额外的解释步骤导致较慢的连接速度。ole db 建立于 odbc 之上,并将此技术扩展为提供更高级数据访问接口的组件结构。此结构对企业中及 internet 上的 sql、非 sql 和非结构化数据源提供一致的访问。(实际上,在访问基于 sql 的数据时,ole db 仍使用 odbc,因为对于 sql 它是最优结构。)ole db 由三个组件构成:数据使用者(例如,一个应用程序);包含并公开数据的数据提供程序以及处理并传输数据的服务组件(例如,查询处理器、游标引擎)。ole db 是一个针对 sql 数据源和非 sql 数据源(例如,邮件和目录)进行操作的 api。在目前非常流行的.net framework中,ado.net是访问数据库的重要部分,它为.net framework提供 的数据访问机制。在作者的本系统,使用asp.net开发的实例就是基于ado.net数据库访问技术实现的。ado.net的结构不是很复杂,主要包括 connection (数据库的链接)、command(执行数据库的命令)、datareader(数据库的读取器)、dataset(数据集)和dataadpter(数据库的适配器),主要用来操作数据库填充并操作dataset,它是数据库和dataset之间的桥梁。 在目前非常流行的.net framework中,ado.net是访问数据库的重要部分,它为.net framework提供 的数据访问机制。在作者的本系统,使用asp.net开发的实例就是基于ado.net数据库访问技术实现的。ado.net的结构不是很复杂,主要包括 connection (数据库的链接)、command(执行数据库的命令)、datareader(数据库的读取器)、dataset(数据集)和dataadpter(数据库的适配器),主要用来操作数据库填充并操作dataset,它是数据库和dataset之间的桥梁。 ado.net的结构图如图2-3所示。 图2-3所示ado.net的结构图在ado.net中,可以通过command对象和dataadapter对象访问数据库。dataset对象保存在系统内存的数据库副本,它不但提供访问数据库的机制,同时还支持访问xml文件的机制,可以方便地与xml文件进行数据交互。在ado.net中,任何数据或数据的模式都可以序列化为xml的格式。下面介绍ado.net常用对象的基本情况。1)connection类和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据源上面执行命令。与数据库交互的过程意味着你必须指明想要执行的操作。这是依靠command对象执行的。你使用command对象来发送sql语句给数据库。command对象使用connection对象来指出与哪个数据源进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给dataadapter,它保存了一组能够操作下面描述的一组数据的命令。2)command类command类提供sqlcommand、oledbcommand、oraclecommand和odbccommand 几种访问方式可以直接访问不同种类的数据库。同时command类还支持idbcommand接口。可以从数据库获取一个标量结果或者一个存储过程的输出参数。该类主要提供从数据库检索数据、插入数据、修改和删除数据。成功于数据建立连接后,就可以用command对象来执行查询、修改、插入、删除等命令; command对象常用的方法有executereader方法、executescalar()方法和executenonquery()方法;插入数据可用executenonquery()方法来执行插入命令。3)datareader类datareader类通过command类提供从数据库检索数据信息的功能。此功能以一种只读的、向前的、快速的方式访问数据库,在读取和操作数据库时,不能断开和数据库之间的连接。所以在使用datareader对象时,必须保持和数据库的连接。许多数据操作要求你只是读取一串数据。datareader对象允许你获得从command对象的select语句得到的结果。考虑性能的因素,从datareader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用dataset。4)dataset类dataset类是一个新的数据结构。dataset提供一种断开式的数据访问机制,即以驻留在内存中的形式来显示数据之间的关系模型。dataset可以看成数据存储器的部分数据的本地副本,可以执行读取、插入、修改和删除其中的数据。dataset对象是数据在内存中的表示形式。它包括多个datatable对象,而datatable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。dataset是在特定的场景下使用帮助管理内存中的数据并支持对数据的断开操作的。dataset是被所有data providers使用的对象,因此它并不像data provider一样需要特别的前缀。5)dataadapter类dataadapter类用作dataset和数据源之间的桥接器以便检索和保存数据。dataadapter通过映射fill方法来更改dataset中的数据以便与数据源中的数据相匹配,通过update方法来更改数据源中的数据以便与dataset中的数据相匹配。dataadapter类实现了selectcommand、insertcommand、updatecommand和deletecommand等4种数据库访问方式。ado.net提供少量支持sql server 2005的功能,这些功能包括:多活动结果集(mars:multiple active result sets):这允许你同时有多个活动的查询。例如,你可以查询顾客列表,在不关闭查询的同时查询订单列表。这个技术有时很有用,但它要求你能够避免额外的过载。用户自定义数据类型(user-defined data types):使用.net编码,你可以自定义类,并且将类的实例直接存储在数据库的一列里。这会使检查一行里的内个字段,并且手工创建应用中要使用的相应的数据对象的工作大为减少。被管理的存储过程:sql server 2005能够以clr为宿主,这样就可以使用纯c#代码在数据库中编写存储过程。sql通知(sql nitificatons):当数据库中指定的改变发生时,使用通知可以编写相应的响应代码。在asp.net中,这个功能通常用于数据库中的一条或多条记录更新时,使缓存的数据失效。这仅仅是sql server 2005的功能,但同时也支持sql server 7 和sql server 2000,当然,这需要使用不同的机制。事务隔离快照(snapshop transaction isolation):这是一个新的事务层次,它可以使你增强并发水平。它允许事务查看稍有点早的数据版本,尽管这些数据已经被别的事务更新了。3酒店订单管理系统的设计与实现3.1 酒店订单管理系统构架酒店订单管理系统是基于.net的三层b/s构架实现的,由用户层、逻辑层和数据层组成。三层b/s构架的特点是:1)用户层的界面提供给用户一个视觉上的界面,通过用户层用户输入数据、获取数据,用户层同时也提供一定的安全性,确保用户不会看到其他信息。这一层由客户端负责,通过www浏览器实现信息浏览的功能。在客户端,向主url所指定web服务器提出服务申请。在web服务器对用户进行身份验证后,用http协议把所需要的文件资料传送给用户,客户端只是接受文件资料,并显示在www浏览器上。2)逻辑层(中间层)是用户层和数据层的桥梁,它响应用户层的用户请求,执行任务,从数据层抓取数据,并将必要的数据传送给界面层、使用清晰的语言陈述论点。web服务器端负责逻辑层的处理,为客户端提供公共的数据服务,处理客户端与数据库间的数据流。它的功能在具有cgi的web服务器接受客户申请,首先需要程序,依次与数据库连接,进行申请处理,而后处理结果返回we

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论