购买

¥10.0

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 酒店订餐系统毕业论文

酒店订餐系统毕业论文.doc

酒店订餐系统毕业论文

满天星0822
2018-05-21 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《酒店订餐系统毕业论文doc》,可适用于高等教育领域

酒店订餐系统论文目录摘要helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip前言helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第一章开发工具的介绍helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellipDelphi的发展历史helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellipDelphi的优点与缺点helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellipDelphi的数据库访问helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第二章酒店订餐系统的定义helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip软件开发的一般过程helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip酒店订餐系统的开发过程helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第三章系统的设计与实现helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip本系统的具体开发环境helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip系统的总体设计helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip详细设计helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第四章软件测试helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip软件测试的定义helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip软件测试的重要性helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip软件测试中遇到的问题helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第五章程序的发布helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellipInstallShieldExpressforDelphi的介绍helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip程序发布的过程helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip第六章总结和展望helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip本系统的缺陷性helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellipIntraWeb技术的优越性helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip鸣谢helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip参考文献helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip摘要随着酒店规模的不断扩大酒店的管理也变得更为重要和复杂。这使得传统的管理模式有了很大的局限性不仅消耗人力更浪费了大量的时间最重要的是效率也很低真的是事倍功半。在这种形势下计算机管理也就应运而生了。各行各业都充分的利用了计算机的管理来提高效率酒店管理软件就是这个时代的最好产物。从房间预订开始客人的抵达、入住以及在酒店内的住宿、餐饮等各项活动直到离店时的结帐等全过程中计算机系统全面承担起数据计算、存储及传输等重任。本文用Delphi开发工具ACCESS数据库完成了个酒店订餐管理的小软件适合小型的酒店使用。本设计的主要内容:用户登录权限设置修改密码提交要求、菜单签定合同等内容。本设计主要以学习Delphi开发工具来构建这部分系统。关键词:Delphi开发工具、ACCESS数据库SummaryWiththeconstantenlargementofthescaleofhotels,themanagementofhotelsbecomesevenmoreimportantandcomplicatedtooThismakestraditionalmanagementmodehaveverygreatlimitation,notmerelyconsumemanpower,wastealargeamountoftimeevenmore,themostimportantthingisthatefficiencyisverylowtoo,reallygethalftheresultwithtwicetheeffortUnderthiskindofsituation,computermanagementarisesatthehistoricmomenttooAlltradesandprofessionsareallabundanttomakeuseofmanagementofthecomputertoraisetheefficiency,themanagementsoftwareofhotelsisthebestresultofthiseraSincetheroomisordered,guests#arrival,movingin,andseveralactivities,suchasaccommodation,foodandbeverageinhotels,etc,untilcheckoutcheckoutwhen,etcamongthethewholecourse,computersystembeardatacalculate,storeandimportanttaskoftransmittingetcinanallroundwayThistextuseDelphidevelopinginstrument,ACCESSdatabasefinishpiecesofhotelbookmeallittlesoftwareofmanagement,suitableforsmallscalehoteluseMaincontentoriginallydesigned:User#slogin,theauthorityissetup,revisethepassword,referrequiring,menusto,signthecontents,suchascontract,etcOriginallydesignandstructurethispartofsystemsbystudyingDelphidevelopinginstrumentmainlyKeyword:Delphidevelopinginstrument,ACCESSdatabase前言餐饮是酒店赢利的一个重要的部门它的管理在整个酒店管理中起着相当大的作用。餐饮的管理有多种形式订餐的形式尤其需要计算机的管理。它能提前处理客户的订餐要求实现了有条理而高效的管理这是传统的管理方式所不能达到的。尤其是长期以后大量数据处理起来很不方便会出现遗漏出错等情况。信息时代的发展使计算机成为人类生活中不可或缺的产品。其技术也越来越成熟。管理软件在各个领域中发挥着举足轻重的作用成为各行业中不可或缺的部分。订餐管理系统作为酒店管理系统的一部分可以更好的协助酒店的管理。因此开发此系统也就变的尤为重要。第一章开发工具的介绍Delphi的历史与前景年月日Delphi发布号称VBKiller。获得空前成功在关键时刻挽救了Borland。以后几乎每年推出一个新版本。Delphi时编译器后端就改成了用C与汇编来编写而不是Pascal与汇编。从核心上说Delphi其实是一个Pascal编译器。自从年前AndersHejlsberg写下第一个TurboPascal编译器以来Boland就一直在推动着Pascal编译器向前发展而Delphi是迈出的又一步。TurboPascal具有稳定、优雅以及编译速度快等特点Delphi也不例外它综合了数十年来编译器的经验和最新的位优化编译技术。虽然近年来编译器的功能有了显著增加它的速度却只减慢了很少。另外Delphi的性能仍然非常稳定。下面就让我们循着记忆的足迹再回过头去看一看Delphi以前的各个版本以及每一版本发行的背景。DelphiDelphi是第一个综合了可视化开发环境、优化的源代码编译器、可扩展的数据库访问引擎的Windows开发工具它奠定了RAD的概念。综合了RAD工具和快速数据库访问的编译器mdashDelphi对众多VB程序员来说极具吸引力因此它赢得了许多忠诚的用户。同时很多的TurboPascal程序员也转向了这一功能强大的新工具。Microsoft的VB小组因为在Delphi面前缺少严肃的竞争意识而失败了迟钝而臃肿的VisualBasic显然不能和Delphi同日而语。这些都发生在年。Delphi一年后的Delphi在位的操作系统Windows和WindowsNT下实现了原有的一切功能。另外Delphi还增加了许多Delphi没有的功能例如位的编译器能生成速度更快的应用程序对象库得到进一步丰富和扩展完善了数据库支持改进了字符串处理支持OLE和可视化窗体继承以及与位的Delphi兼容等。Delphi成为衡量其他RAD工具的标准。这是年的事。在此前一年(即年)的下半年位的Windows出台了。这是自Windows以来最重要的Windows平台。Boland迫切希望Delphi成为这一平台的最佳开发工具。Boland希望Delphi能进入被PowerBuilder等工具垄断的高端客户服务器市场但这一版本还不具有这种实力。Delphi在研制Delphi的时候Delphi开发小组集中精力想推出一个震撼性的产品。在研制Delphi的时候开发组主要考虑把Delphi升级为位代码同时又保持对位版本的兼容。为了满足IT产业的需要Delphi增强了数据库和客户服务器的功能。到了研制Delphi的时候开发组开始考虑要为Windows开发者所遇到的棘手问题提供一套完整的解决方案。Delphi使本来极其复杂的COM、ActiveX、WWW应用程序开发、ldquo瘦rdquo客户应用程序、多层数据库系统体系结构等技术变得非常容易使用。虽然Delphi和Delphi编写应用程序的基本方法大都相同但Delphi的代码内视(CodeInsight)技术却简化了代码编写过程。这是在年。DelphiDelphi致力于使Delphi更易于使用。ModuleExplore技术的引入使程序员能够以一致的图形界面浏览和编辑代码。代码导航和类自动生成的功能使程序员只需关注应用程序本身而不必在输入代码上花费太多精力。IDE经过重新设计可支持浮动和可停靠的工具栏和窗口调试器也做了改进。Delphi不愧为一个领先的开发工具它的MIDAS、DCOM和CORBA等技术使Delphi的应用范围扩展到企业级。这些都发生在年。这一年Delphi有效地巩固了它在竞争中的地位。虽然Delphi仍在持续而缓慢地占领市场其前沿却在某种程度上得到了加固。几年来Delphi一直是市场上最稳定的开发工具Delphi在长期的Delphi用户中赢得了信誉因为它使用简单、稳定性好。DelphiDelphi在几个方面取得了进步:首先Delphi和Delphi一样通过增加更多的功能使程序的编写更简单程序员可以把精力都集中在想写什么而不是怎样写上。这些新功能包括:进一步增强了IDE和调试器的功能、提供了TeamSource小组开发软件和转换工具等。第二Delphi也为简化Internet的开发增加了许多新功能包括:ActiveServerObjectWizard用于创建ASP、InternetExpress组件用于支持XML和新的MIDAS功能使Delphi成为Internet的一个通用数据平台。第三Delphi最重要的特征mdash稳定性。Boland直到Delphi完全令人满意才将它推出。Delphi是在年下半年出版的。DelphiDelphi的BizSnap运用WebService技术以简化企业与企业之间信息交换集成的复杂度。DataSnap技术可让您通过SOAP、CORBA、COM及TCPIP等分布式运算标准开发多层分布式数据应用程序。CLX跨平台组件库可开发出适用于Windows及Linux平台的应用程序。Delphi通过最新SIDL与AppServer连接。它为AppServer应用开发出高性能、具有丰富GUI环境的客户端应用通过Internet将AppServer的EJB功能作为遵循业界标准的SOAPXMLWeb服务发布到任何地方。Delphi为AppServer和VisiBroker应用开发出高性能具有丰富GUI环境的客户端和Web浏览器。通过ActionBands、ActionManagers和ShellControls创建的用户界面支持微软最新平台(WindowsMe)。使用户无需在繁琐的用户界面上来耗费精力便能轻松定制属于自己的UI应用。DelphiDelphi的InternetExpress和WebBroker技术开发基于InternetIntranet的分布式Web服务程序。Delphi与Delphi相比新增了IntraWeb技术更好的实现了Web程序的开发。未来尽管历史很重要但更重要的是Delphi的未来。以历史为导引我们可以肯定在未来的很长一段时间内Delphi都将继续是一种优秀的Windows开发工具。我想真正的问题是我们能否不断地见到针对Win以外的平台的Delphi版本。根据Boland公司传出的信息似乎这也正是他们所关心的问题。在年的Boland董事会上Delphi的首席设计师ChuckJazdzewski演示了一种能生成Java代码的Delphi编译器这种编译器从理论上来说能用于任何一种带有JavaVirtualMachine的计算机。虽然这一技术还存在一些明显的障碍但它肯定了这样一种观点即将Delphi移植到其他的平台是未来计划的一部分。在最近召开的年度Boland董事会上CEODaleFuller在致开幕辞时无意中透露了将开发一个用于Linux平台的Delphi版本的计划。Delphi的优点与缺点优点:()Pascal语言结构严谨可以很好地培养一个人的编程思想。  ()Delphi是一门真正的面向对象的开发工具并且是完全的可视化。  ()Delphi使用了真编译可以让你的代码编译成为可执行的文件而且编译速度非常快。  ()Delphi具有强大的数据库开发能力可以让你轻松地开发数据库。  缺点  Delphi几乎可以说是完美的只是Pascal语言的过于严谨让人感觉有点烦。Delphi的数据库访问Delphi中访问数据库的方式有三种:直接访问如访问Paradox和Dbase数据库通过ODBC访问如访问Access、Foxpro等数据库通过内嵌(Native)方式访问数据库如访问SQLServer、Oracle、DB等。在Delphi中可以使用Table控件或者和Query控件来访问数据库二者的设置和用法都差不多。以Table控件为例:三种方式:直接访问Delphi可以直接访问Paradox和DBase这两个桌面型的数据库系统。访问这两种类型的数据库时不需要特别的设置只需要把文件路径赋给Table控件的属性DatabaseName就可以访问该路径下的数据库了。当然也可以事先建立映射数据库路径的数据库别名然后把Table控件的DatabaseName属性设置为相应的数据库别名。通过ODBC访问访问Paradox和DBase以外的数据库通常是通过ODBC来实现的。Delphi可以访问支持ODBC的数据库系统如Access、SQLServer和Oracle等。当然通过ODBC访问数据库时首先要使用Windows的控制面板或Delphi的数据库引擎(BDE)建立ODBC数据源。Delphi提供了Database控件该控件的作用有:在应用程序的控制下和数据库系统建立连接、进行事务处理等。在数据库应用程序中可以使用Database控件也可以不使用。如果不使用Database控件可以直接把ODBC数据源的名称赋给Table控件的属性DatabaseName而达到访问该数据库的目的。这种方式的弊端是在程序运行时由Delphi系统自动弹出登录到数据库的英文界面的窗口既不美观又不便于控制。因此笔者建议在数据库应用程序中使用Database控件来登录到数据库系统。把Table控件与Database控件关联的方法是把其DatabaseName属性值指定为Database控件的DatabaseName属性值。一个Database控件可以管理若干个Table控件。和Database控件建立关联以后只要该Database控件已经和数据库建立了连接Table控件就可以直接访问数据库而无须再次登录。通过内嵌方式访问Delphi中可以不通过ODBC而以内嵌方式访问SQLServer、Oracle、DB等数据库系统。这需要使用数据库别名来指定数据库数据库别名可以事先建立也可以在程序运行时动态创建。前者称为静态别名后者称为动态别名。使用数据库别名来访问数据库的方法和使用ODBC数据源的情形相同这里不再累述。通过内嵌方式访问数据库的静态别名必须在BDE中建立。以访问SQLServer数据库为例在建立别名时必须指定数据库服务器的名称(SERVERNAME)、主机名(HOSTNAME)以及要访问的数据库名称(DATABASENAME)可以指定登录用户名(USERNAME)和口令(PASSWORD)等。通过动态创建的别名来访问数据库必须使用Database控件。如何设置Database控件中访问数据库的参数呢?用鼠标双击Database控件出现参数设置窗口在Drivername一栏选择要访问的数据库系统如MSSQL然后选择按钮Defaults就会把BDE中该数据库系统所需的参数名称和缺省值加入到Parameteroverrides列表中。根据实际情况更改参数中的SERVERNAME、DATABASENAME等项。然后选择按钮OK就可以了。需要说明的两点是以内嵌方式访问数据库需要在安装Delphil时指定安装SQLLinkQuery控件的SQL语句不能以分号结尾。结论通过内嵌方式访问数据库与通过ODBC访问数据库相比前者的速度要快一些。而且内嵌方式可以在程序中动态地设置连接数据库所需的参数用户不必设置ODBC数据源这就降低了对用户技术水平的要求并且减少了用户的工作量。从系统配置的难易和复杂程度来看使用内嵌方式开发出的数据库应用系统更便于普通用户使用。虽然Delphi是个通用开发工具但对数据库的超强支持使它成为世界上最好的数据库类软件开发工具。Delphi的标准控件里囊括了BDE(Borland公司的通用数据库引擎)、ADO(微软的数据库引擎)、ODBC(开放数据库连接)以及dbExpress等数套数据库操作驱动。对主流数据库的支持可见一斑。而且这些控件经过几版的发展速度、功能和稳定性都已经非常成熟。本系统采用了Delphi的BDE组件通过ODBC数据源访问ACCESS数据库。第二章酒店订餐系统的定义软件开发的一般过程软件开发的过程一般包括:可行性研究与计划阶段、需求分析阶段、设计阶段、编程阶段、测试阶段、运行与维护阶段。酒店订餐系统软件开发的主要过程系统调研衣食住行总是伴随着人们酒店也因此成为了中国发展最迅猛的行业之一。餐饮业作为酒店的一部分发展也很迅猛。酒店每天要接待的顾客流量很大如果不事先预约很可能造成包间菜量等资源的缺乏使得酒店流失大量顾客。在这种情况下预订自然必不可少了而大量的顾客预订造成了人工操作的诸多不便。订餐系统的需求也就尤为迫切了。问题的提出毫无疑问餐饮业是零售业中最难做、竞争最激烈的市场区段之一。工作强度大员工流动性高对身体条件的要求也可能相当高并且无论您是只经营一间小饭馆还是管理多家连锁咖啡吧顾客都会期望享受到快速无差错的服务和令人愉快的用餐体验。这对于任何餐饮业者来说都非易事满足顾客的需求顾客至上成了餐饮业者竞争的关键。最大可能的满足顾客也就必须最早的了解顾客的需求订餐就是一种途径。顾客要求的提出菜单合同的预先制定时间包间上的处理(解决顾客要求的冲突)顾客信息的处理等等这些处理仅仅只有人工的处理是低效而复杂的。这些处理需要很多人的参与对酒店来说也是一种资金的损失。可行性研究可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。一般来说要从西面几个方面进行研究:)技术可行性:Delphi是一款开发管理软件很好的工具且对数据库的支持非常强大本系统就采用了ACCESS数据库作为后台。对ACCESS数据库由于曾经使用过比较了解是很容易上手的数据库管理系统。Delphi提供了大量的控件是一种ldquo所见即所得rdquo的开发工具易学易用。)经济可行性:本系统是款小软件其开发成本相当低投入使用后能更好的管理客户的订餐需求处理数据且节省了劳务开支更便于酒店的管理为酒店带来了更大的经济效益。)操作可行性:本系统可由一般操作员来完成客户的需求及合同签定等部分由宴会预订部来根据一般操作员的操作来调用菜单及安排包间等而系统管理员可进行所有包括用户权限设置、密码修改、添加用户、统计销售额等操作。需求分析)需求分析的目的和任务需求分析的目的是理清数据流或数据结构导出完全的、精致的系统逻辑模型编制出需求规格说明书等文档。其任务是确定系统必须完成那些工作也就是对目标系统提出完整、清晰、具体的要求。因此需求分析是建立管理系统的关键。面对一个复杂的系统千头万绪分析工作从哪里入手?常用的方法是结构化分析方法(简称SA方法)即面向数据流自顶向下逐步求精的方法。)流程分析流程的分析使整个系统看起来更直观更便于操作。在进行一个系统的开发之前有一个明确的流程走向是基础这部分工作需最先完成。以下是本系统的流程示例:第三章系统的设计与实现本系统的具体开发环境一、硬件环境.中央处理器:PIII.硬盘容量:G.内存容量:M二、软件环境.操作系统:WindowsXP.数据库管理系统:ACCESS.软件开发工具Delphi了解了系统的开发环境后下面开始系统的设计。这章分总体设计和详细设计两个部分来阐述。系统的总体设计系统的总体设计可分为功能设计和结构设计。功能设计确定软件实现的基本功能模块。结构设计确定软件的结果。)软件功能的设计本系统是一个用于酒店订餐的小型的数据库主要是把客户的要求放入数据库并根据要求签定合同同时也保存进数据库也可根据需要打印出来。宴会预订部可通过数据库来查看客户的需求以便能够及时有效的安排包间。系统管理员可对数据库中的数据进行操作并统计当天的营业情况、每个顾客的消费情况以及营销人员的业绩情况等。本系统功能主要有:用户登录、修改密码、用户权限设置、提交要求和菜单、签定合同、统计情况、安排包间等。)软件结构的设计大型程序设计通常分两个阶段完成:结构设计和过程设计。结构设计确定程序由哪些模块组成以及模块之间的关系过程设计确定每个模块的处理过程。结构设计是总体设计阶段的任务过程设计是详细设计阶段的任务。软件结构的基础是模块。通常程序中的每个模块完成一个适当的子功能。软件结构反映模块之间的组成关系。软件结构可以用层次图或结构图来描绘。下面用层次图来描绘一下本系统的结构图。本系统是一个工程(Project)文件包括了一个主窗体(Form)和各个子窗体(Form)。详细设计详细设计确定每个模块的内部特征即每个模块内部的执行过程(怎样做)。详细设计时每个模块是单独考虑的。详细设计要确定模块内部的详细执行过程包括:局部数据组织、控制流、每一步的具体加工要求及种种实现细节等。设计思想本系统设置了三个用户权限其实可以根据不同部门设置多个用户权限考虑到因为是单机系统为了操作的方便性在此只设置了三了用户权限由一般操作者代替了多个部门进行操作以后可根据需要增加权限。根据不同的用户权限进入系统限制性的进行操作。系统的初始用户是admin密码也为admin这是系统管理员。进入后可添加不同权限的用户。一般操作员负责客户、餐饮部、餐厅三部门的功能(如果条件允许可把三部门分开)先填写客户的要求并录入数据库然后根据客户要求签定合同。宴会预订部可查看菜单并且调用菜单库进行维护然后根据客户的要求来安排包间。在这过程中数据库成为了中心。客户的要求单、菜单、菜名、客户的信息、合同等都需要放入数据库以便于访问和管理。在主窗体菜单中主要有客户(U)、营销部(V)、宴会预订部(W)、餐饮部(X)、餐厅(Y)、系统维护(Z)这几个部分其中括号中的大写字母为快捷键。本系统用ACCESS数据库建了六张数据表分别是Contract(合同表)、Menu(菜单表)、MenuName(菜名表)、OrderInfo(要求表)、SaleInfo(营销人员信息表)、UserInfo(客户信息表)。数据库的连接与访问在ODBC数据源管理器中添加一个指向MicrosoftAccessDriver(*mdb)的数据源并在选择里加入MyAccessS数据库别名。Delphi提供了TDatabase控件该控件的作用有:在应用程序的控制下和数据库系统建立连接、进行事件处理等。在数据库应用程序中可以使用Database控件也可以不使用。如果不使用Database控件可以直接把ODBC数据源的名称赋Table控件的属性DatabaseName而达到访问该数据库的目的。这种方式的弊端是在程序运行时由Delphi系统自动弹出登录到数据库的英文界面的窗口既不美观又不便于控制。因此本系统在数据库应用程序中使用Database控件来登录到数据库系统。把Table控件与Database控件关联的方法是把其DatabaseName属性值指定为Database控件DatabaseName属性值本系统的DatabaseName属性都设为MyAccess。一个Database控件可以管理若干个Table控件。和Database控件建立关联以后只要该Database控件已经和数据库建立了连接Table控件就可以直接访问数据库而无须再次登录。Query控件的访问和Table控件类似。DSN设置完成后用Delphi自带的BDEAdministrator进行测试测试成功后就可以访问。使用BDE访问数据库的示意图如下所示:使用BDE的优点在于目前BDE是与Delphi整合得最好的数据库访问引擎开发Delphi程序使用BDE会有详尽的资料供参考而且对于某些数据库只能使用BDE引擎才能访问。使用BDE的缺点在于Borland公司已经停止了BDE的更新开发(这是最遗憾的一点)由于BDE没有和Windows操作系统整合因此使用BDE会造成额外的负担。应用程序必须运行在装有BDE的计算机上。综合BDE的优缺点BDE仍然是一个比较好的解决方案。数据库的设计以下为本次系统所用到的数据表的设计:合同(Contract)表:字段名数据类型合同号文本客户姓名文本营销人员文本预订日期文本签定日期文本菜单(Menu)表:字段名数据类型ID自动编号菜单号文本菜名文本菜名(MenuName)表:字段名数据类型菜单编号文本菜名文本种类文本单价货币客户要求(OrderInfo)表:字段名数据类型客户编号文本客户姓名文本预订日期文本包间数字营销人员信息(SaleInfo)表:字段名数据类型工作号文本姓名文本电话文本地址文本客户信息(UserInfo)表:字段名数据类型客户编号文本客户姓名文本联系电话文本消费金额货币性别文本身份证号文本数据表的操作TDataSet对象中有dsInactive、dsBrowse、dsEdit、dsInsert及dsSetKey等五种状态是应用程序中可以直接控制的其关系如下图:程序的实现)主界面:进入系统首先会弹出如图所示的登录对话框这样就能防止外部人员使用系统确保了系统的安全性。这部分的程序主要是用户名、密码包括权限被写入配置文件rsquosysinirsquo不存在此文件时创建初始用户和密码为admin权限为rsquorsquo即为系统管理员。在后面的添加用户模块中增加用户写入rsquosysinirsquo文件再次登录时根据配置文件判断此用户是否存在。不存在会弹出密码错误的对话框要求重试当失败为三次或三次以上时程序就将终止。主界面的示意图如下所示:进入界面就能看到一个欢迎的FLASH动画。其中FLASH文件的路径也就是ShockwaveFlash组件的Movie属性为F:毕业设计酒店订餐系统Imagefffswf。最上栏是菜单栏点任意一项可出现下拉项如果此项为非灰化的即可点击弹出新窗体。此功能的实现程序以弹出用户信息窗体(userinfo)为例,在主窗体中调用子窗体必须在implement下以uses关键字申明userinfo其他窗体的弹出相同。procedureTFormmenuuserinfoClick(Sender:TObject)beginfrmUserInfo:=TfrmUserInfoCreate(self)frmUserInfoShowend此窗体最下面一栏为状态栏显示了三个Panels,第一个为ldquo欢迎进入本系统rdquo在实现为在Form(窗体)的OnCreate事件中添加代码具体程序如下:procedureTFormFormCreate(Sender:TObject)beginStatusBarPanelsText:=#今日日期:#DateToStr(now)end)子窗体①提交客户要求窗体:图A图B此窗体用了个TPageControl组件显示了两个相互交叠且由TTabSheet对象组成的页面用户可以单击其中顶部的页标签选择特定的页面。以上两个图即为两个页面。图A中必须正确填写信息如果客户编号或客户姓名为空则会提示出错信息如果预订日期小于当前日期也会提示出错信息并要求重新输入在包间一栏可任意填写但并不一定会最后满足这一要求这需要在安排包间时根据时间段来决定定期维护客户要求的数据表是必要的对于那些过期的要求应及时处理掉。下面是维护部分的代码:procedureTfrmpassorderBitBtnClick(Sender:TObject)beginwithTabledobeginopenfirstwhilenoteofdobeginiffieldByName(#预订日期#)AsDateTimenowthenbeginDeleteendnextendcloseendend如果输入客户要求提交后发现不正确需重新输入后可按取消按钮然后重新输入正确的信息。图B中填入菜单号可以查看相应菜单按添加按钮将出现一个显示所有菜名的新窗体输入用户需要的菜名即可。②统计部分窗体:统计部分窗体主要实现了三个功能即统计营销人员业绩、统计客户消费情况、统计菜类销售情况。下面我将一一介绍每一部分的完成的功能极其部分代码。按下营销人员业绩按钮将会出现如上图所示的界面按合同的签定日期选择查询的时间段然后按查询按钮将会出现如下图所示的查询结果。完成这一功能的查询按钮部分的程序如下:procedureTfrmcountBitBtnClick(Sender:TObject)varstr:stringmax:IntegerbeginwithQuerydobeginclosesqlClearstr:=#select营销人员,count(营销人员)as合同数fromContractWhere签定日期=###formatdatetime(#yyyymd#,FromDateDate)###and签定日期=###formatdatetime(#yyyymd#,ToDateDate)###groupby营销人员#sqlAdd(str)openfirstmax:=fieldByName(#合同数#)AsIntegernextwhilenoteofdobeginiffieldByName(#合同数#)AsIntegermaxthenmax:=fieldByName(#合同数#)AsIntegernextendNumCaption:=IntToStr(max)firstwhilenoteofdobeginiffieldByName(#合同数#)AsString=NumCaptionthenbeginBestCaption:=fieldByName(#营销人员#)AsStringbreakendnextendendend按下客户消费按钮将会出现新的界面和统计营销人员部分类似按查询按钮将会出现有关客户消费的一些情况如某个菜单消费金额客户编号等。按下菜类销售部分又将出现另一界面同样和统计营销人员部分类似按查询按钮将会在DBGrid中出现有关菜单中各种菜销售的情况以及在GroupBox中显示销量最好的菜的一些信息。③用户权限设置窗体部分这部分可查看已存在用户的权限也可按添加按钮出现添加用户的新的窗体相应增加新的用户及其权限设置下次登录时可用新增的用户名和密码登录系统。④修改密码窗体可修改掉用户的密码。这部分功能的完成要先判断旧的密码是否存在被哪个用户所拥有在配置文件rsquosysinirsquo中读出相应记录。验证新密码和确认密码是否相同相同才写入配置文件相应用户的记录处。修改密码和登录窗体可以直接输入按回车进入下一个输入框输完可直接回车运行生效。实现代码为:procedureTfrmchangepwdoldpwdKeyPress(Sender:TObjectvarKey:Char)beginifkey=#thennewpwdSetFocusendprocedureTfrmchangepwdnewpwdKeyPress(Sender:TObjectvarKey:Char)beginifkey=#thenconfirmpwdSetFocusendprocedureTfrmchangepwdconfirmpwdKeyPress(Sender:TObjectvarKey:Char)beginifkey=#thenButtonClickend⑤用户信息窗体此窗体可查看、更改、删除用户信息。⑥安排包间窗体在此窗体中输入预订的日期即可查看已经安排的包间如果新提交的客户要求没有在这一日期订餐则安排按钮处于灰化状态不可用否则按下安排按钮会在客户要求的前提下自动调剂包间。现把查看按钮部分的相应代码记录如下:procedureTfrmorderroomqueryfuvarj,Min,Max:IntegerbeginQueryCloseQuerySQLClearQuerySQLAdd(#select*fromOrderInfowhereCDate(预订日期)=##formatdatetime(#yyyymmdd#,LookDateDate)###)QueryOpenQueryFirstMin:=Max:=QueryRecordCountbeginifflag=falsethenbeginforj:=MintoMaxdobeginxianshiQueryNextendendelseifflag=truethenbeginforj:=Minto(Max)dobeginxianshiQueryNextendendendQueryCloseendprocedureTfrmorderroomxianshivari:Integerbegini:=Queryfieldbyname(#包间#)AsIntegercaseiof:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=:ComboBoxItemIndex:=endendprocedureTfrmorderroombtnLookClick(Sender:TObject)beginComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=ComboBoxItemIndex:=withTabledobeginopenLastiffieldByName(#预订日期#)AsStringdatetostr(LookDateDate)thenbeginflag:=falsequeryfu处理flag=false的情况endelsebeginbtnArrangeEnabled:=trueflag:=truequeryfu处理flag=true的情况endcloseendend⑦其余有维护菜名菜单等

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/34

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利