2022年餐饮信息管理系统的设计方案与实现 .pdf
1 / 46 计算机与软件学院毕业设计 论文)诚信承诺我谨在此承诺:本人所写的毕业论文餐饮信息管理系统的设计与实现,系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果由本人承担。承诺人 签名):年月日摘要随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。并且几乎为零的错误率也使得餐馆可以更好的为顾客精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 46 页2 / 46 服务。它不仅可以为餐馆降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。本系统使用了VB.NET技术并采用了C/S 架构,饭店服务人员使用它可以快速准确地为客户服务,人性化的系统界面设计使得软件便于使用者的快速掌握,计算机几乎为零的错误率和高效的处理能力使得原本繁琐的餐饮管理变得更加科学、快捷以及人性化。使用本系统,员工将可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。关键字 :餐饮管理; VB.NET ;C/S 架构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 46 页3 / 46 Abstract With 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 overwhelmed, 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, 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 users 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 discounts 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 operations of the restaurant managers to fully control. Keywords: Food and Beverage Management 。 VB.NET 。 C / S architecture 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 46 页4 / 46 目录第一章餐饮信息管理系统的开发背景1 1.1 开发背景 1 1.2 开发工具和相关技术简介1 第二章系统定义与系统需求4 2.1 系统定义 4 2.2 系统需求分析 4 第三章系统总体设计6 3.1 系统功能模块的划分6 3.2 管理员权限模块划分8 3.3 员工权限模块划分8 3.4 系统流程分析 8 3.5 数据库设计 9 3.5.1 数据库规划 9 3.5.2 E-R图 10 3.5.3 数据表的设计 11 第四章系统详细设计15 4.1 数据库 15 4.1.1 数据库的链接 15 4.1.2 Is_SQL_Cmd 方法 15 4.1.3 SQL_Ada 方法 16 4.1.4 ExecCmd 过程 16 4.2 系统的登录与注销17 4.2.1 用户登陆模块的实现17 4.2.2 用户注销模块的实现18 4.3 客户信息管理 19 4.3.1 客户信息的添加 19 4.3.2 图像的处理 20 4.3.3 客户信息的修改 21 4.3.4 客户信息的删除 23 4.3.5 客户信息的查询 24 4.4 添加预定信息 26 4.4.1 日期时间桌号的核对27 4.4.2 打折信息处理 27 4.4.3 取消预定信息 28 4.4.4 预定信息查询 29 4.5 充值与结算 31 4.5.1 客户充值 31 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 46 页5 / 46 4.5.2 客户结算 33 4.6 折扣设定 33 4.7 用户管理 34 4.7.1 用户的添加 34 4.7.2 用户的删除 34 总结 37 谢辞 39 参考文献 40 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 46 页1 / 46 第一章餐饮信息管理系统的开发背景1.1 开发背景传统的餐饮管理现在已经很难应对当今社会对餐饮业的管理要求,它与现在的基于计算机技术发展起来的餐饮信息管理系统对比,有以下几大不同:便捷性方面:传统的人工对餐饮信息进行管理,如:顾客信息管理,菜单信息管理和订餐信息的管理,都是很繁琐的过程,其中的任何一步过程都要浪费大量的时间,而随着计算机技术的发展,这些原本繁琐的问题都会变得轻而易举。安全性方面:传统的纸质记录方式查询起来很麻烦,而且保密性很差,并且容易磨损丢失,对于会员余额的管理是非常不利的。但如果采用的是电子文档的方式进行数据的保存,这一切都变得非常简便,你可以方便的对数据信息进行备份查询,并且数据的安全性可以得到最大程度的保证。准确性方面:传统的人工记账容易出错,如果采用这种方式来处理现在的含有打折信息的消费结算会使得工作量很大,如果计算出错将严重影响自己的声誉。而如果使用软件系统,这些问题都将不会出现,计算机的错误率几乎为零。鉴于以上传统的人工管理方式的种种缺陷,我设计了方便中小级别餐饮企业使用的应用程序,通过它,管理者可以基本解决以上所遇到的种种问题,并且更加科学的对老客户进行打折,而且添加了主顾权限的不同设计使得它更加方便雇主对雇员的管理与监督。1.2 开发工具和相关技术简介开发工具:硬件: ThinkPad 笔记本软件: Windows XP Microsoft Visual Studio 2008 Microsoft SQL Server 2005 本系统是采用 VB.NET技术结合 SQL Server 数据库设计并实现的。 VB.NET的开发工具为 Microsoft Visual Studio 2008,数据库使用的是SQL Server 2005 Express Edition VB.NET 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 46 页2 / 46 Visual Basic.NET 是从 Visual Basic 语言演变而来的,是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。Visual Basic 允许开发人员开发面向 Windows、Web 和移动设备的程序。与所有面向 Microsoft .NET Framework 的语言一样,使用 Visual Basic 编写的程序都具有安全性和语言互操作性方面的优点。这一代 Visual Basic 延续了为您提供一种简单快捷的方法来创建基于 .NET Framework 的应用程序的传统。Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了 Microsoft 开发智能客户端应用程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效。任何规模的组织都可以使用 Visual Studio 2008 快速创建能够利用 Windows Vista和 2007 Office system 的更安全、更易于管理并且更可靠的应用程序。Visual Studio 2008 包括各种增强功能,例如可视化设计器使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台。SQL Server 2005 Express Edition仅适用于 32 位)SQL Server Express 是一个免费、易用且便于管理的数据库。SQL Server Express 与 Microsoft Visual Studio 2005 集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。SQL Server Express 是免费的,可以再分发 受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。SQL Server Express 是低端 ISV 、低端服务器用户、创建 Web 应用程序的非专业开发人员以及创建客户端应用程序的编程爱好者的理想选择。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 46 页3 / 46 C/S结构C/SClient/Server或客户 / 服务器模式): Client和 Server 常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server 程序,再将 Server 程序返回的结果以特定的形式显示给用户;Server 程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/SClient/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web 应用发展, Web和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 46 页4 / 46 第二章系统定义与系统需求2.1 系统定义计算机技术产生以后,迅速在管理领域得到了广泛的应用。20 世纪 60年代,美国经营管理协会及其事业部第一次提出了建立管理信息系统的设想,即建立一个有效的信息系统,使得各级管理部门都能了解本单位的一切有关经营活动,为各级决策人员提供所需要的信息。对于信息管理系统的定义,目前还没有一个统一的认识。由于餐饮管理系统是基于 C/S 模式,本文更倾向于采纳下述定义:餐饮信息管理系统是通过对整个餐饮服务流程的管理,实现业务的整体优化,提高企业运行控制和外部交易过程的效率的管理工具。2.2 系统需求分析现在的管理系统不仅要有漂亮的用户界面,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。本系统的设计与实施迎合了二十一世纪经济高速发展、人们的生活节奏日益加快以及现代餐饮业越来越发达和便捷这一现状。它将极大地方便食客的就餐,同时也有利于我们的管理和服务。同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。为了使系统更加人性化,便于管理员管理,此系统的用户将分为两种类型,一个是针对员工的餐饮管理系统,另一个是针对管理员 2. 查询菜单3. 添加查询预定信息,为老顾客打折4. 客户可以在自己的会员账户里充值5. 顾客可以用现金买单也可以从会员账户里扣取管理员使用本餐饮信息管理系统应可以实现以下功能:1. 添加修改查询客户会员信息(修改客户信息需客户确认 2. 添加修改查询菜单信息,最好能看到菜品图片精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 46 页5 / 46 3. 添加查询预定信息,为老顾客打折4. 客户可以在自己的会员账户里充值5. 顾客可以用现金买单也可以从会员账户里扣取6. 设定具体的打折方法7. 添加职员信息,权限也可以定为管理员。8. 可以查询使用者的现金收款金额除了实现以上功能外,本系统还需要方便用户地使用,使得用户可以很快地熟练掌握,从而可以让用户快速的投入工作。并且要避免逻辑错误的出现。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 46 页6 / 46 第三章系统总体设计3.1 系统功能模块的划分根据以上需求,餐饮信息管理系统功能被划分为以下模块,如图3.1 所示:图 3.1 餐饮信息管理系统功能模块图系统登录退出模块:本模块是被用于用户登录,注销和退出。模块根据用户的不同类型赋予用户不同的管理权限。低等级的用户不可访问高等级用户的个别功能,而高等级用户可以使用低等级用户的所有系统功能。客户信息管理模块:本模块将餐饮企业松散的客户资源加以整合,通过标准化的管理操作,将客户资料加以收集。用户使用本模块可以方便的查询客户的所有资料和客户消费信息。并且特意添加了图像模块,使得用户的图像信息加以保留,方便使用者的查询和记忆,当客户再次光临时,服务人员可以直接认出客户,这将使得客户感到无微不至的关怀,提升餐厅的品牌形象。客户的资料变更需经客户的确认,以避免出现因失误操作导致的客户信息流失。菜单信息管理模块:本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。本模块的分权限设计将限制普通员工对菜单信息加以修改,以防止菜单价格被恶意修改,以此保证餐厅正常可靠的运营。用户登录员工店主系统登录退出客户信息管理菜单信息管理充值结算管理折扣信息管理员工信息管理帮助预定信息管理精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 46 页7 / 46 订餐信息管理模块:通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。并且本模块在客户订餐的同时会给出已预定的菜品价格,帮助客户开心合理地消费。模块中包含的打折服务是本模块的一大特色。它将参考客户以往的消费情况和管理员设定的折扣程度对客户进行打折服务。而不是传统餐饮打折中的没有规律和凭据以询。后台的厨房通过本系统可以清楚地知道客户预定的菜品,这样就节省了大量用于菜品核对的时间,提高了厨房的效率,缩短了厨房上菜的时间。减少了不必要的人力物力财力资源的消耗,降低餐厅的运营成本,使餐厅以更好性价比服务于消费者,消费者可以得到更好的消费体验。充值结算管理模块:通过此模块,用户可以方便的为客户提供充值结算服务,充值收取的现金将会计入用户的收款现金中,便于管理员结算时核对收款金额。结算方式分为两种,一种是现金结算,一种是账户余额结算,现金结算的收款金额会计入用户的收款现金,而账户余额结算的金额会从客户的账户里扣除。折扣信息管理模块:本模块只限于管理员使用,通过它可以设定为客户打折时用到的折扣程度员工信息管理模块:本模块只限于管理员使用,管理员使用它,可以添加删除用户。用户类型分为店长管理员)和职员。管理员删除用户时,如果要删除的是普通职员,系统将直接执行命令,如果要删除的是管理员账户,系统会先查看剩下的管理员账户数量,最少保留一个管理员账户,以便下次的登录。如果删除的用户是管理员本人,则在删除账户后,系统将会要求使用者重新登录。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 46 页8 / 46 3.2 管理员权限模块划分管理员权限划分如图3.2 所示:图 3.2 店长权限模块图管理员使用本系统将能使用系统的所有功能。3.3 员工权限模块划分员工权限划分如图3.3 所示:图 3.3 雇员权限模块图员工使用本系统可以使用除了菜单信息编辑、折扣信息管理模块和员工信息管理模块之外的所有功能。3.4 系统流程分析系统流程分析如图3.4 所示:管理员权限系统登录退出顾客信息管理菜单信息管理充值结算管理折扣信息管理员工信息管理帮助预定信息管理员工权限系统登录退出顾客信息管理菜单信息查询充值结算管理帮助预定信息管理精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 46 页9 / 46 图 3.4 系统流程分析流程图简介:员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值 增加用户的收款金额)。客户通过餐饮信息管理系统进行订餐老用户在此环节中可能会享受打折服务)。客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。若余额不足,系统将会提示,那么客户只能使用现金支付。使用现金支付的话会增加用户的收款金额。管理员登录的话可以使用员工的所有功能,而且可以设定为客户打折的折扣程度和添加菜单,以及管理员工账户。3.5 数据库设计3.5.1 数据库规划根据以上模块划分图分析,针对餐饮信息管理系统,分别对用户、客户、食谱、预定、折扣这几个实体进行详细的调研和分析。数据库的设计采用一库多表式设计。即设计了一个数据库。把每个使用到的独立的对象设计为独立的应用实体。3.5.2 E-R 图用户登录员工店主客户添加维护客户信息添加客户的预定信息客户买单现金账户余额账户充值消费金额增加账户升级打折更多收款现金金额增加收款金额查看折扣设定食谱管理员工管理精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 46 页10 / 46 图 3.5 用户 E-R图主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。图 3.6 客户 E-R图主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。图 3.7 食谱 E-R图主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。食谱 food )食谱名称价格食谱功效食谱配料食谱照片客户customer)客户编号客户地址客户密码客户姓名添加时间账户余额已用金额客户地址客户照片客户电话客户手机用户编号客户生日用户 User)用户编号用户密码用户类型身份证号用户姓名用户电话收款金额精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 46 页11 / 46 图 3.8 预定 E-R图主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。图 3.9 折扣 E-R图存储管理员 店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。3.5.3 数据表的设计1、user用户表)表 3.1 user 序号字段名称字段描述字段类型长度备注1 user_id 用户编号char 20 不允许空2 Pwd 用户密码char 20 不允许空3 Style 用户类型nchar 20 不允许空4 Id 用户身份证号char 20 不允许空5 Name 用户姓名char 20 不允许空折扣 discount)折扣程度已消费金额预定 YuDing )身份证号消费金额客户姓名日期时间用户编号桌号预定餐点精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 46 页12 / 46 6 Tel 用户电话Char 20 不允许空7 Money 收款金额money 允许空用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段 money用于记录用户的收款金额,便于结算时对收款现金的核对。2、customer 表 3.3 food 序号字段名称字段描述字段类型长度备注精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 46 页13 / 46 1 Name 食谱名称nchar 20 不允许空2 Price 价格money 不允许空3 Photo 食谱照片image 允许空4 Efficacy 食谱功效nchar 50 允许空5 Formula 食谱配料nchar 50 允许空食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。字段Price 记录的是食物的价格。当客户预定餐点时,系统使用它来算费用。4、YuDing预定表)表 3.4 YuDing 序号字段名称字段描述字段类型长度备注1 Tableid 桌号nchar 10 不允许空2 Date 日期nchar 20 不允许空3 Time 时间nchar 10 不允许空4 Name 客户姓名nchar 10 不允许空5 customerid 客户身份证号nchar 10 不允许空6 Userid 用户编号nchar 10 不允许空7 Food 预定餐点nvarchar MAX 不允许空8 Money 消费金额money 不允许空预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到 YuDing表,该表和其它各表都有紧密的联系。5、discount 折扣表)表 3.5 discount 序号字段名称字段描述字段类型长度备注精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 46 页14 / 46 1 usedmoney 已消费金额char 10 不允许空2 Discount 折扣程度char 10 不允许空折扣表用于存储管理员 As Boolean SqlConn = New SqlConnection(constr SqlConn.Open( SqlCmd = New SqlCommand(cmdstr, SqlConn Try SqlDr = SqlCmd.ExecuteReader( If SqlDr.HasRows Then Return True Else Return False End If Catch ex As Exception Return False Finally SqlConn.Close( 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 46 页16 / 46 End Try End Function 4.1.3SQL_Ada方法方法 SQL_Ada 是为了查询数据库,并将查询到的结果存放在内存中的datatable表中,餐饮信息管理系统中使用到的组件DataGridView 再从 datatable表中得到数据。 Public Function SQL_Ada(ByVal adastr As String As DataTable SqlConn = New SqlConnection(constr SqlConn.Open( SqlAda = New SqlDataAdapter(adastr, SqlConn ds = New DataSet Try SqlAda.Fill(ds Return ds.Tables(0 Catch ex As Exception Return New DataTable Finally SqlConn.Close( End Try End Function 4.1.4ExecCmd过程ExecCmd 是为系统中的添加、删除、修改服务,系统里的客户、菜单、折扣和员工的添加、删除和修改都用到了该过程。 Public Sub ExecCmd(ByVal cmdstr As String SqlConn = New SqlConnection(constr SqlConn.Open( SqlCmd = New SqlCommand(cmdstr, SqlConn SqlCmd.ExecuteNonQuery( End Sub 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 46 页17 / 46 4.2 系统的登录与注销4.2.1 用户登陆模块的实现图 4.1 用户登录用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行系统操作时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行登录对系统进行操作。如果用户以职员的身份进入系统,则只能进行顾客信息管理、菜单信息查询、预定信息管理和充值结算管理,而菜单信息管理、折扣设定、员工管理这些功能将被屏蔽,如果用户以管理员 Then main.m_Login = True . /类似部分省略 Me.Close( Else MsgBox(请填写正确的用户名、密码和用户类型! 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 46 页18 / 46 End If Catch ex As Exception main.OPErr.WriteErr(ex End Try 系统先进行数据库操作,判断是否存在用户名、用户密码和用户类型完全符合要求的数据,如果存在,则说明用户可以登录,同时把登录的用户类型和用户名告诉需要用到用户类型和用户名数据的模块如系统主界面、充值模块和买单模块等等。4.2.2 用户注销模块的实现用户注销模块的代码如下:Private Sub 注销ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs Handles 注销ToolStripMenuItem.Click Me.m_style = Me.m_Login = False For Each ChildForm As Form In Me.MdiChildren ChildForm.Close( Next main_Load(sender, e Login.Show( Me.ToolStripStatusLabel1.Text = 登录 End Sub 用户通过本模块可以注销系统,系统恢复到登录前画面,这样就可以防止在用户离开后,系统数据被人恶意修改。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 46 页19 / 46 4.3 客户信息管理4.3.1 客户信息的添加图 4.2 客户的添加当用户点击添加按钮时,系统执行以下代码:CmdStr = SELECT id FROM customer where id= + TextBox2.Text + If TextBox2.Text = Then/身份证不为空 MsgBox(请输入身份证号 TextBox2.Focus( ElseIf sqlobject.Is_SQL_Cmd(CmdStr Then /检查是否已注册 MsgBox(该客户已经存在 TextBox2.Focus( ./ 中间还有很多类似的验证 Else CmdStr = insert into customer (name,id,address,birthday,pwd,addtime,money,usedmoney,tel,mobilephone,useridVALUES( + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + , + DateTimePicker1.Value.ToString + , + TextBox6.Text + , + Now + , + 0 + , + 0 + , + TextBox4.Text + , + TextBox5.Text + , + user + 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 46 页20 / 46 Try sqlobject.ExecCmd(CmdStr /添加客户 MsgBox(添加成功 / 添加成功提示 FileUrl = /复位空格. Catch ex As Exception main.OPErr.WriteErr(ex End Try End If End Sub 在添加用户前,系统进行了详细的表单验证,包括验证要提交的客户是否已经存在,用户两次输入的密码是否一样,以及联系方式不为空等等。使用insert语句将通过验证的表格中的数据提交到数据库。菜单信息添加模块与本模块的原理类似,以下不再阐述。4.3.2 图像的处理如果用户在上面添加客户信息时,添加了图像信息,那么系统就会执行以下命令: If FileUrl Then /图像存在的话,添加图像Dim imgstreem As New FileStream(FileUrl, FileMode.Open, FileAccess.Read Dim imgbyte(imgstreem.Length As Byte imgstreem.Read(imgbyte, 0, imgstreem.Length imgstreem.Close( Dim sqlcmd As New System.Data.SqlClient.SqlCommand Dim sqlconn As New System.Data.SqlClient.SqlConnection(SQL_Conn.constr CmdStr = update customer set photo=image where id= + TextBox2.Text + 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 46 页21 / 46 sqlcmd.Parameters.Add(image, SqlDbType.Image sqlcmd.Parameters(image.Value = imgbyte sqlcmd.Connection = sqlconn sqlcmd.CommandText = CmdStr Try sqlconn.Open( sqlcmd.ExecuteNonQuery( sqlconn.Close( Catch ex As Exception main.OPErr.WriteErr(ex End Try End If 如果用户提交了客户的相片,相片将会被转化为二进制数据提交到数据库中,这样就可以方便用户日后对客户资料进行维护,也有助于服务人员记住客户,当客户再次光临时,一口报出客户的名字将会使客户对餐厅的好感大增。4.3.3 客户信息的修改图 4.3 客户信息的修改当客户资料因实际情况发生变更时,可以修改系统中的资料数据,用户需提供注册时所使用的客户密码。使用密码可以防止客户的资料被恶意修改。充分保护客户权益,即使是管理员也不能在不经过客户同意的情况下修改客户数据。以下是修精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 46 页22 / 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 + + ,tel= + TextBox10.Text + + ,mobilephone= + TextBox1