




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机与软件学院毕业设计 论文)诚信承诺我谨在此承诺:本人所写的毕业论文餐饮信息管理系统的设计与实现,系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果由本人承担。承诺人 签名):年月日摘要随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。并且几乎为零的错误率也使得餐馆可以更好的为顾客1/46服务。它不仅可以为餐馆降低人力资源的付出,节省了成本,而且
2、也可以提升自身的形象,使餐厅迎来更多的食客。本系统使用了 VB.NET 技术并采用了 C/S 架构,饭店服务人员使用它可以快速准确地为客户服务,人性化的系统界面设计使得软件便于使用者的快速掌握,计算机几乎为零的错误率和高效的处理能力使得原本繁琐的餐饮管理变得更加科学、快捷以及人性化。使用本系统,员工将可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。关 键 字:餐饮管理; VB.NET;C/S
3、 架构2/46AbstractWith economic development and social progress, to the hotel festive gathering into a new fashion. Therefore, during festive seasons, the hotel will welcome a large number of customers, followed by a large number of reservations and billing information will make the hotel the staff ove
4、rwhelmed, and the inevitable will occur or that such errors. Food information management software can provide them with the birth of convenient management services. And almost zero error rate makes the restaurant better for customers. It not only can reduce the human resources for restaurants to pay
5、, cost savings, but also can enhance their image, so that more diners usher restaurant itself.The system uses VB.NET technology and uses C / S architecture, the hotel staff to use it to quickly and accurately to customer service, human system interface design allows the software to facilitate the us
6、ers to grasp, the computer is almost zero error rate and efficient processing power makes the restaurant management had become more complicated scientific, efficient and humane.With this system, employees will be able to quickly edit the customer data and information, and provide customers with disc
7、ounts and top-ordering. Administrators use the system, not only to complete all the work of employees, but also better management of staff, accurate book about employees of funds. In addition to these, the administrator can also set the restaurants menu of information and discount levels, making the
8、 operations of the restaurant managers to fully control. Keywords : Food and Beverage Management。 VB.NET 。 C / S architecture3/46目录第一章餐饮信息管理系统的开发背景11.1开发背景 11.2开发工具和相关技术简介 1第二章系统定义与系统需求42.1系统定义 42.2系统需求分析 4第三章系统总体设计63.1系统功能模块的划分63.2管理员权限模块划分83.3员工权限模块划分83.4系统流程分析 83.5数据库设计 9数据库规划 9图 10数据表的设计 11第四章系统
9、详细设计154.1数据库 154.1.1数据库的链接 154.1.2Is_SQL_Cmd 方法 154.1.3SQL_Ada 方法 164.1.4ExecCmd 过程 164.2系统的登录与注销 174.2.1用户登陆模块的实现 174.2.2用户注销模块的实现 184.3客户信息管理 194.3.1客户信息的添加 194.3.2图像的处理 204.3.3客户信息的修改 214.3.4客户信息的删除 234.3.5客户信息的查询 244.4添加预定信息 264.4.1日期时间桌号的核对 274.4.2打折信息处理 274.4.3取消预定信息 284.4.4预定信息查询 294.5充值与结算 3
10、14.5.1客户充值 314/46客户结算 334.6折扣设定 334.7用户管理 34用户的添加 34用户的删除 34总结 37谢辞 39参考文献 405/46第一章餐饮信息管理系统的开发背景1.1开发背景传统的餐饮管理现在已经很难应对当今社会对餐饮业的管理要求,它与现在的基于计算机技术发展起来的餐饮信息管理系统对比,有以下几大不同:便捷性方面:传统的人工对餐饮信息进行管理,如:顾客信息管理,菜单信息管理和订餐信息的管理,都是很繁琐的过程,其中的任何一步过程都要浪费大量的时间,而随着计算机技术的发展,这些原本繁琐的问题都会变得轻而易举。安全性方面:传统的纸质记录方式查询起来很麻烦,而且保密性
11、很差,并且容易磨损丢失,对于会员余额的管理是非常不利的。但如果采用的是电子文档的方式进行数据的保存,这一切都变得非常简便,你可以方便的对数据信息进行备份查询,并且数据的安全性可以得到最大程度的保证。准确性方面:传统的人工记账容易出错,如果采用这种方式来处理现在的含有打折信息的消费结算会使得工作量很大,如果计算出错将严重影响自己的声誉。而如果使用软件系统,这些问题都将不会出现,计算机的错误率几乎为零。鉴于以上传统的人工管理方式的种种缺陷,我设计了方便中小级别餐饮企业使用的应用程序,通过它,管理者可以基本解决以上所遇到的种种问题,并且更加科学的对老客户进行打折,而且添加了主顾权限的不同设计使得它更
12、加方便雇主对雇员的管理与监督。1.2开发工具和相关技术简介开发工具:硬件: ThinkPad 笔记本软件: Windows XPMicrosoft Visual Studio 2008Microsoft SQL Server 2005本系统是采用 VB.NET 技术结合 SQL Server 数据库设计并实现的。 VB.NET的开发工具为 Microsoft Visual Studio 2008 ,数据库使用的是 SQL Server 2005 Express EditionVB.NET0/46Visual Basic.NET是从 Visual Basic语言演变而来的,是一种为高效地生成类型
13、安全和面向对象的应用程序而设计的语言。Visual Basic允许开发人员开发面向 Windows、Web 和移动设备的程序。与所有面向Microsoft .NET Framework的语言一样,使用Visual Basic编写的程序都具有安全性和语言互操作性方面的优点。这一代 Visual Basic延续了为您提供一种简单快捷的方法来创建基于.NETFramework 的应用程序的传统。Microsoft Visual Studio 2008Microsoft Visual Studio 2008使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了Microsoft开
14、发智能客户端应用程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效。任何规模的组织都可以使用Visual Studio 2008快速创建能够利用 Windows Vista和 2007 Office system的更安全、更易于管理并且更可靠的应用程序。Visual Studio 2008包括各种增强功能,例如可视化设计器使用 .NETFramework 3.5加速开发)、对Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008为开发人员提供了所有相关的工具和框架支持
15、,帮助创建引人注目的、令人印象深刻并支持AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台。SQL Server 2005 Express Edition仅适用于 32位)SQL Server Express是一个免费、易用且便于管理的数据库。SQL ServerExpress 与 MicrosoftVisual Studio2005 集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据
16、驱动应用程序。SQL Server Express是免费的,可以再分发 受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。 SQL Server Express是低端 ISV 、低端服务器用户、创建Web 应用程序的非专业开发人员以及创建客户端应用程序的编程爱好者的理想选择。1/46C/S结构C/SClient/Server 或客户 / 服务器模式): Client 和 Server 常常分别处在相距很远的两台计算机上, Client 程序的任务是将用户的要求提交给 Server 程序,再将 Server 程序返回的结果以特定的形式显示给用户; Server 程序的任务是接收客户
17、程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/SClient/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展, Web和 Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是
18、目前应用系统的发展方向。2/46第二章系统定义与系统需求2.1系统定义计算机技术产生以后,迅速在管理领域得到了广泛的应用。20 世纪 60 年代,美国经营管理协会及其事业部第一次提出了建立管理信息系统的设想,即建立一个有效的信息系统,使得各级管理部门都能了解本单位的一切有关经营活动,为各级决策人员提供所需要的信息。对于信息管理系统的定义,目前还没有一个统一的认识。由于餐饮管理系统是基于 C/S 模式,本文更倾向于采纳下述定义:餐饮信息管理系统是通过对整个餐饮服务流程的管理,实现业务的整体优化,提高企业运行控制和外部交易过程的效率的管理工具。2.2系统需求分析现在的管理系统不仅要有漂亮的用户界面
19、,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。本系统的设计与实施迎合了二十一世纪经济高速发展、人们的生活节奏日益加快以及现代餐饮业越来越发达和便捷这一现状。它将极大地方便食客的就餐,同时也有利于我们的管理和服务。同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。为了使系统更加人性化,便于管理员管理,此系统的用户将分为两种类型,一个是针对员工的餐饮管理系统,另一个是针对管理员 查询菜单添加查询预定信息,为老顾客打折客户可以在自己的会员账户里充值顾客可以用现金买单也可以从会员账户里扣取管理员使用本餐饮信息管理系统应可以实现以下功
20、能:添加修改查询客户会员信息 ( 修改客户信息需客户确认 添加修改查询菜单信息,最好能看到菜品图片3/46添加查询预定信息,为老顾客打折客户可以在自己的会员账户里充值顾客可以用现金买单也可以从会员账户里扣取设定具体的打折方法添加职员信息,权限也可以定为管理员。可以查询使用者的现金收款金额除了实现以上功能外,本系统还需要方便用户地使用,使得用户可以很快地熟练掌握,从而可以让用户快速的投入工作。并且要避免逻辑错误的出现。4/46第三章系统总体设计3.1系统功能模块的划分根据以上需求,餐饮信息管理系统功能被划分为以下模块,如图3.1 所示:用户登录员店工主系客菜预充折员统户单定值扣工登信信信结帮信信
21、录息息息算助息息退管管管管管管出理理理理理理图 3.1 餐饮信息管理系统功能模块图系统登录退出模块:本模块是被用于用户登录,注销和退出。模块根据用户的不同类型赋予用户不同的管理权限。低等级的用户不可访问高等级用户的个别功能,而高等级用户可以使用低等级用户的所有系统功能。客户信息管理模块:本模块将餐饮企业松散的客户资源加以整合,通过标准化的管理操作,将客户资料加以收集。用户使用本模块可以方便的查询客户的所有资料和客户消费信息。并且特意添加了图像模块,使得用户的图像信息加以保留,方便使用者的查询和记忆,当客户再次光临时,服务人员可以直接认出客户,这将使得客户感到无微不至的关怀,提升餐厅的品牌形象。
22、客户的资料变更需经客户的确认,以避免出现因失误操作导致的客户信息流失。菜单信息管理模块:本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。本模块的分权限设计将限制普通员工对菜单信息加以修改,以防止菜单价格被恶意修改,以此保证餐厅正常可靠的运营。5/46订餐信息管理模块:通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。并且本模块在客户订餐的同时会给出已预定的菜品价格,帮助客户开心合理地消费。模块中包含的打
23、折服务是本模块的一大特色。它将参考客户以往的消费情况和管理员设定的折扣程度对客户进行打折服务。而不是传统餐饮打折中的没有规律和凭据以询。后台的厨房通过本系统可以清楚地知道客户预定的菜品,这样就节省了大量用于菜品核对的时间,提高了厨房的效率,缩短了厨房上菜的时间。减少了不必要的人力物力财力资源的消耗,降低餐厅的运营成本,使餐厅以更好性价比服务于消费者,消费者可以得到更好的消费体验。充值结算管理模块:通过此模块,用户可以方便的为客户提供充值结算服务,充值收取的现金将会计入用户的收款现金中,便于管理员结算时核对收款金额。结算方式分为两种,一种是现金结算,一种是账户余额结算,现金结算的收款金额会计入用
24、户的收款现金,而账户余额结算的金额会从客户的账户里扣除。折扣信息管理模块:本模块只限于管理员使用,通过它可以设定为客户打折时用到的折扣程度员工信息管理模块:本模块只限于管理员使用,管理员使用它,可以添加删除用户。用户类型分为店长 管理员)和职员。管理员删除用户时,如果要删除的是普通职员,系统将直接执行命令,如果要删除的是管理员账户,系统会先查看剩下的管理员账户数量,最少保留一个管理员账户,以便下次的登录。如果删除的用户是管理员本人,则在删除账户后,系统将会要求使用者重新登录。6/463.2管理员权限模块划分管理员权限划分如图3.2 所示:管理员权限系顾菜预充折员统客单定值扣工登信信信结信信帮录
25、息息息算息息助退管管管管管管出理理理理理理图 3.2 店长权限模块图管理员使用本系统将能使用系统的所有功能。3.3员工权限模块划分员工权限划分如图3.3 所示:员工权限系顾菜预充统客单定值帮登信信信结录息息息算助退管查管管出理询理理图 3.3 雇员权限模块图员工使用本系统可以使用除了菜单信息编辑、折扣信息管理模块和员工信息管理模块之外的所有功能。3.4系统流程分析系统流程分析如图3.4 所示:7/46用户登录客员店户工主添加维护客户信息账收户款折食员充添加客户的预定信息金扣谱工值额设管管查定理理看客户买单账户现金收款现金金额增加余额消费金额增加账户升级打折更多图 3.4 系统流程分析流程图简介
26、:员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值 增加用户的收款金额)。客户通过餐饮信息管理系统进行订餐老用户在此环节中可能会享受打折服务)。客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。若余额不足,系统将会提示,那么客户只能使用现金支付。使用现金支付的话会增加用户的收款金额。管理员登录的话可以使用员工的所有功能,而且可以设定为客户打折的折扣程度和添加菜单,以及管理员工账户。3.5数据库设计数据库规划根据以上模块划分图分析,针对餐饮信息管理系统,分别对用户、客户、食谱、预定、折扣这几个实体进行详细的调研和分析。数据库
27、的设计采用一库多表式设计。即设计了一个数据库。把每个使用到的独立的对象设计为独立的应用实体。图8/46用户编号用户密码收款金额用户类型用户 User )用户电话身份证号用户姓名图 3.5 用户 E-R 图主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。客户编号客户地址用户编号客户照片客户电话账户余额客户已用金额customer )添加时间客户地址客户姓名客户密码客户生日客户手机图 3.6客户 E-R 图主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。食谱名称食谱照片价
28、格食谱 food )食谱配料食谱功效图 3.7 食谱 E-R 图主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。9/46日期桌号时间预定 YuDing )客户姓名消费金额身份证号预定餐点用户编号图 3.8 预定 E-R 图主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。已消费金折扣 discount )折扣程度额图 3.9 折扣 E-R 图存储管理员 店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。数据表的设计1、user 用户表)表 3.1 user序号
29、字段名称字段描述字段类型长度备注1user_id用户编号char20不允许空2Pwd用户密码char20不允许空3Style用户类型nchar20不允许空4Id用户身份证char20不允许空号5Name用户姓名char20不允许空10/466Tel用户电话Char20不允许空7Money收款金额money允许空用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段 money用于记录用户的收款金额,便于结算时对收款现金的核对。2、customer表 3.3 food11/46序号字段名称字段描述字段类型长度
30、备注1Name食谱名称nchar20不允许空2Price价格money不允许空3Photo食谱照片image允许空4Efficacy食谱功效nchar50允许空5Formula食谱配料nchar50允许空食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。字段 Price 记录的是食物的价格。当客户预定餐点时,系统使用它来算费用。4、YuDing预定表)表 3.4 YuDing序号字段名称字段描述字段类型长度备注1Tableid桌号nchar10不允许空2Date日期nchar20不允许空3Time时间nchar10不允许空4Name客户姓名ncha
31、r10不允许空5customerid客户身份证nchar10不允许空号6Userid用户编号nchar10不允许空7Food预定餐点nvarcharMAX不允许空8Money消费金额money不允许空预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到 YuDing 表,该表和其它各表都有紧密的联系。5、discount 折扣表)表 3.5 discount12/46序号字段名称字段描述字段类型长度备注1usedmoney已消费
32、金额char10不允许空2Discount折扣程度char10不允许空折扣表用于存储管理员 As Boolean SqlConn = New SqlConnection(constrSqlConn.Open(SqlCmd = New SqlCommand(cmdstr, SqlConnTrySqlDr = SqlCmd.ExecuteReader(If SqlDr.HasRows ThenReturn TrueElseReturn FalseEnd IfCatch ex As ExceptionReturn FalseFinallySqlConn.Close(14/46End TryEnd F
33、unction方法方法 SQL_Ada是为了查询数据库,并将查询到的结果存放在内存中的datatable表中,餐饮信息管理系统中使用到的组件DataGridView 再从 datatable表中得到数据。Public Function SQL_Ada(ByVal adastr As String As DataTable SqlConn = New SqlConnection(constrSqlConn.Open(SqlAda = New SqlDataAdapter(adastr, SqlConnds = New DataSetTrySqlAda.Fill(dsReturn ds.Table
34、s(0Catch ex As ExceptionReturn New DataTableFinallySqlConn.Close(End TryEnd Function过程ExecCmd是为系统中的添加、删除、修改服务,系统里的客户、菜单、折扣和员工的添加、删除和修改都用到了该过程。Public Sub ExecCmd(ByVal cmdstr As StringSqlConn = New SqlConnection(constrSqlConn.Open(SqlCmd = New SqlCommand(cmdstr, SqlConnSqlCmd.ExecuteNonQuery(End Sub1
35、5/464.2系统的登录与注销用户登陆模块的实现图 4.1 用户登录用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行系统操作时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行登录对系统进行操作。如果用户以职员的身份进入系统,则只能进行顾客信息管理、菜单信息查询、预定信息管理和充值结算管理,而菜单信息管理、折扣设定、员工管理这些功能将被屏蔽,如果用户以管理员 Thenmain.m_Login = True./类似部分省略Me.Close(ElseMsgBox(请填写正确的用户名、密码和用户类型!1
36、6/46End IfCatch ex As ExceptionEnd Try系统先进行数据库操作,判断是否存在用户名、用户密码和用户类型完全符合要求的数据,如果存在,则说明用户可以登录,同时把登录的用户类型和用户名告诉需要用到用户类型和用户名数据的模块如系统主界面、充值模块和买单模块等等。用户注销模块的实现用户注销模块的代码如下:Private Sub注销 ToolStripMenuItem_Click(ByVal sender As System.Object,ByVal e As System.EventArgs Handles注销 ToolStripMenuItem.ClickMe.m_
37、style = Me.m_Login = FalseFor Each ChildForm As Form In Me.MdiChildrenChildForm.Close(Nextmain_Load(sender, eLogin.Show(登录 End Sub用户通过本模块可以注销系统,系统恢复到登录前画面,这样就可以防止在用户离开后,系统数据被人恶意修改。17/464.3客户信息管理客户信息的添加图 4.2 客户的添加当用户点击添加按钮时,系统执行以下代码:CmdStr = SELECT id FROM customer where id= + TextBox2.Text + If Text
38、Box2.Text = Then/身份证不为空MsgBox(请输入身份证号 TextBox2.Focus(ElseIf sqlobject.Is_SQL_Cmd(CmdStr Then/检查是否已注册MsgBox(该客户已经存在 TextBox2.Focus(./中间还有很多类似的验证ElseCmdStr = insert into customer(name,id,address,birthday,pwd,addtime,money,usedmoney,tel,mobilephone,useridVALUES( + TextBox1.Text + , + TextBox2.Text + ,
39、+TextBox6.Text + , + Now + , + 0 + , + 0 + , +TextBox4.Text + , + TextBox5.Text + , + user + 18/46Trysqlobject.ExecCmd(CmdStr/添加客户MsgBox(添加成功 /添加成功提示FileUrl = /复位空格.Catch ex As ExceptionEnd TryEnd IfEnd Sub在添加用户前,系统进行了详细的表单验证,包括验证要提交的客户是否已经存在,用户两次输入的密码是否一样,以及联系方式不为空等等。使用 insert 语句将通过验证的表格中的数据提交到数据库。
40、菜单信息添加模块与本模块的原理类似,以下不再阐述。图像的处理如果用户在上面添加客户信息时,添加了图像信息,那么系统就会执行以下命令:If FileUrl Then/图像存在的话,添加图像Dim imgstreem As New FileStream(FileUrl, FileMode.Open,FileAccess.ReadDim imgbyte(imgstreem.Length As Byteimgstreem.Read(imgbyte, 0, imgstreem.Lengthimgstreem.Close(Dim sqlcmd As NewDim sqlconn As NewCmdStr
41、= update customer set photo=image where id= +TextBox2.Text + 19/46sqlconn.Open(sqlcmd.ExecuteNonQuery(sqlconn.Close(Catch ex As ExceptionEnd TryEnd If如果用户提交了客户的相片,相片将会被转化为二进制数据提交到数据库中,这样就可以方便用户日后对客户资料进行维护,也有助于服务人员记住客户,当客户再次光临时,一口报出客户的名字将会使客户对餐厅的好感大增。客户信息的修改图 4.3 客户信息的修改当客户资料因实际情况发生变更时,可以修改系统中的资料数据,用
42、户需提供注册时所使用的客户密码。使用密码可以防止客户的资料被恶意修改。充分保护客户权益,即使是管理员也不能在不经过客户同意的情况下修改客户数据。以下是修20/46改按钮的代码。CmdStr = select pwd from customer where pwd= +TextBox12.Text + and id = + TextBox8.Text + /确定客户身份代码./省略验证信息If sqlobject.Is_SQL_Cmd(CmdStr Then/如果客户同意修改的话继续CmdStr = update customer set address= + TextBox9.Text + +
43、 ,tel= + TextBox10.Text + + ,mobilephone= + TextBox11.Text + + ,pwd= + TextBox13.Text + + where id= + TextBox8.Text + Trysqlobject.ExecCmd(CmdStr/执行更新MsgBox(修改成功 TextBox8.Text = .PictureBox2.Image = NothingCall TabControl1_SelectedIndexChanged(sender, eCatch ex As ExceptionEnd TryElseMsgBox(密码错误 End
44、 If使用方法 Is_SQL_Cmd验证客户密码的正确性,如果原始密码正确,用户在输入新密码后可以进行对联系方式等基本资料进行修改。使用update 语句将空格中的数据更新到服务器。如果更新成功,系统会弹出“修改成功的提示”。菜单信息修改模块与本模块的原理类似,以下不再阐述。21/46客户信息的删除客户信息可以在得到客户确认的情况下删除,因设计到账户余额问题所以在进行此操作时万分谨慎。客户资料来之不易,建议不要轻易删除客户资料。以下是删除模块的程序代码:Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As Sys
45、tem.EventArgs Handles Button6.ClickIf TextBox12.Text = ThenMsgBox(请输入用户密码 TextBox12.Focus(ElseCmdStr = select pwd from customer where pwd= + TextBox12.Text + and id = + TextBox8.Text + /用户密码确认If sqlobject.Is_SQL_Cmd(CmdStr ThenCmdStr = delete from customer where id= +TextBox8.Text + Trysqlobject.Exe
46、cCmd(CmdStr/执行删除命令MsgBox(删除成功 PictureBox2.Image = NothingCatch ex As ExceptionEnd TryElseMsgBox(密码错误 End IfEnd IfCall TabControl1_SelectedIndexChanged(sender, eEnd Sub系统先对客户密码进行了核对,密码正确的话,使用delete语句,根据客户的22/46身份证号对数据库中的客户数据进行删除。因添加客户数据时要求身份证号是唯一的,所以不用担心误删的问题。菜单信息删除模块与本模块的原理类似,以下不再阐述。客户信息的查询图 4.4客户信息
47、的查询1、客户查询模块载入Private Sub kehuchaxun_Load(ByVal sender As System.Object, ByVal e As System.EventArgs Handles MyBase.Loadsqlobject = New SQL_ConnCmdStr = SELECT name as 客户姓名 ,id as 身份证 ,address as 家庭地址 ,tel as 电话号码 ,mobilephone as 手机号码 ,money as 账户余额 ,usedmoney as 已消费额 FROM customerTryEnd TryDataGridV
48、iewAutoSizeColumnsMode.DisplayedCells23/46End Sub使用 SQL_Ada方法,查询 customer 表中的个别数据,将数据库中的数据提取出来保存在内存中的datatable表中,客户信息查询中的DataGridView 组件将内存中的 datatable数据表里的数据提取出来显示给用户查看。2、当点击 DataGridView 组建中的任意一客户资料时,在组件左边的 PictureBox 中将显示客户照片。If row e.RowIndex And e.RowIndex = 0 Thenrow = e.RowIndexCmdStr = selec
49、t photo from customer where name= + Label1.Text + DisplayImg(CmdStrElse : PictureBox1.Image = NothingEnd IfEnd IfEnd Sub其中 If row e.RowIndex And e.RowIndex = 0 中 e.RowIndex 指的是点击的行数,第一行为 0。是为了取所选行数的第一列值,即客户姓名。 IfLabel1.Text Then是指如果 label1不为空, CmdStr = select photofrom customer where name= + Label1.
50、Text + 是 SQL语句查询图片数据。DisplayImg(CmdStr 是在 DisplayImg 方法中执行 SQL语句。 Else :PictureBox1.Image = Nothing指不满足条件时,清空图像。3、DisplayImg 方法Private Sub DisplayImg(ByVal str As Stringsqlobject.SQL_Ada(str24/46If sqlobject.SQL_Ada(str.Rows(0.Item(0 Is DBNull.Value ThenPictureBox1.Image = NothingElseDim imgbyte( As
51、 Byte =sqlobject.SQL_Ada(str.Rows(0.Item(0Dim imgmemory As New MemoryStream(imgbyte PictureBox1.Image = Image.FromStream(imgmemoryEnd IfEnd SubDisplayImg 方法的作用是读出数据库中保存的二进制图像。菜单信息查询模块与本模块的原理类似,以下不在阐述。4.4添加预定信息图 4.5 添加预定信息系统在窗口载入时,先查询了客户和菜单两张表,将数据显示在窗体左边,供用户选择时使用,其代码和客户查询类似这里不再叙述。本节介绍其他功能的实现。日期时间桌号的核
52、对为了防止客户预定的餐桌出现重合的情况,添加预定的餐桌时系统执行以下代25/46码:Private Sub DateTimePicker1_ValueChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs HandlesDateTimePicker1.ValueChangedsqlobject = New SQL_ConnIf sqlobject.Is_SQL_Cmd(CmdStr ThenMsgBox(在此时刻此桌已有预定 End IfEnd Sub当桌号、时间或者日期中任何一条改动时,程序都会使用方法 Is_SQL
53、_Cmd执行查找一次数据库,看在此时刻此桌是否已有预定信息的记录,如果已有相同记录,系统就会提示“在此时刻此桌已有预定”。打折信息处理当用户向系统添加预定的菜品时,系统会执行以下代码:If Label6.Text = Then/选择客户MsgBox(请选择客户 ElseIf Label12.Text = Then/选择菜单MsgBox(请选择菜单 ElseLabel14.Text = Label14.Text + Label10.Text + /所点菜单price = Label12.Texttotle += price/总消费金额Label16.Text = totleLabel18.Tex
54、t = totleCmdStr = select usedmoney from discount /查询设定的消费金额Cmd = select discount from discount/查询设定的打折程度Cm = SELECT usedmoney FROM customer where id= + Label6.Text +26/46 /客户已消费金额f = (sqlobject.SQL_Ada(Cm.Rows(0.Item(0 /f为客户已消费金额TryFor i = 0 To sqlobject.SQL_Ada(CmdStr.Rows.Count 1 /打折表行数j = (sqlobj
55、ect.SQL_Ada(CmdStr.Rows(i.Item(0 /打折表行消费金额d = (sqlobject.SQL_Ada(Cmd.Rows(i.Item(0/打折表行折扣率If (f = j ThenLabel18.Text = totle * d / 10End IfNext iCatch ex As ExceptionEnd TryEnd IfEnd Sub首先选择客户和预定的餐点,客户信息用于判断打折程度,餐点用于结算消费金额。用累加的方法计算出总消费金额,系统先在数据表中查询客户信息中的客户已消费金额,再用查出的金额与数据库对比,判断打折程度。具体方法是系统先查看折扣数据表中共
56、有的数据行数,然后从第0 行开始依次向下扫描,由于添加打折信息时是按照消费额度递增方式添加的,所以系统查到的数据会越来越大,越来越接近客户已消费金额,当已消费金额刚好超过设定的金额时系统停止继续向下查找新的设定金额,同时查找设定金额对应的打折程度,再用此打折程度计算打折后的实付金额。取消预定信息系统根据用户选择的预定信息,执行删除命令,其关键代码如下:CmdStr = delete from YuDing where name= + Label25.Text + and date= + Label27.Text + and time= + Label28.Text + and tableid=
57、 + Label30.Text + Trysqlobject.ExecCmd(CmdStr27/46预定信息查询图 4.6 预定查询当预定查询模块载入时,系统执行以下语句:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs Handles MyBase.Loadsqlobject = New SQL_ConnCmdStr = SELECT name as 客户姓名 ,customerid as 身份证,date as 预定日期 ,time as 预定时间 ,tableid as 餐桌
58、号 ,money as 结算价格 ,food as 预定菜单 ,userid as 服务员编号 FROM YuDingTryEnd TryDataGridViewAutoSizeColumnsMode.DisplayedCells End Sub当预定查询模块载入时读取数据库中的预定信息并且显示在DataGridView 组件中显示给用户查看,餐厅的厨房就是使用这一模块来获取需要准备的餐点。当用户知道想要查找的预定信息中的某些确切内容时,可以将知道的内容输入28/46空格中,系统将会自动在数据库中查找这些内容。关键代码如下:Private Sub TextBox1_TextChanged(By
59、Val sender As System.Object, ByVal e As System.EventArgs Handles TextBox1.TextChangedTextBox2.Text = TextBox3.Text = sqlobject = New SQL_ConnCmdStr = SELECT name as 客户姓名 ,customerid as 身份证,date as 预定日期 ,time as 预定时间 ,tableid as 餐桌号 ,money as 结算价格 ,food as 预定菜单 ,userid as 服务员编号 FROM YuDingwhere name=
60、 + TextBox1.Text + TryEnd TryDataGridViewAutoSizeColumnsMode.DisplayedCells End Sub当根据姓名查找、根据日期查找和根据餐桌号查找的文本框中的数据被改动时,系统根据改动后的数据,使用CmdStr 所代表的 SQL语句查找数据库中的信息。并将新的信息显示在DataGridView 组件中。29/464.5 充值与结算客户充值图 4.7 客户充值用户充值会模块会调取数据库中的 customer 表里的 money数据,当用户选择要充值的客户后,系统会提取对应客户的客户余额,当用户确定添加后,系统会用客户余额加上客户充值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学美育课件
- 高一政治课件
- 债务处理与离婚协议书结合的财产分配方案
- 离婚协议中财产分配、子女抚养及赡养费参考范本
- 创新型企业劳动合同终止与股权激励协议
- 企业违规使用假合同进行借款债务清偿协议
- 离婚协议中少数民族权益保障法律适用合同
- 汽车美容店租赁租金调整及支付方式合同
- 骶骨解剖课件
- 发展职业教育与技术创新方案
- 河北版初中《信息技术》第二册全册
- 汽车使用与维护 课件 项目二 汽车内部标识识别
- 2024-2025部编人教版2二年级上册语文全程测评试卷(全册10套)
- 2024年江苏大学辅导员考试真题
- 幼儿园教育质量提升的具体策略
- 2025年版高等职业教育专科专业教学标准 560213 融媒体技术与运营
- 财产险考试题题
- kV输电线路工程竣工验收方案
- 新22J01 工程做法图集
- 五防教育主题班会课件
- 教育系统意识形态工作
评论
0/150
提交评论