餐饮信息管理系统的设计与实现.doc_第1页
餐饮信息管理系统的设计与实现.doc_第2页
餐饮信息管理系统的设计与实现.doc_第3页
餐饮信息管理系统的设计与实现.doc_第4页
餐饮信息管理系统的设计与实现.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

编号 郑州师范学院毕 业 论 文(设 计)论文题目 餐饮管理系统的设计与实现 系 别 软件学院 专 业 信息管理专业 班 级 09信管二班 姓 名 申艳敏 学 号 092217022006 指导教师 杨臻 职 称 讲师 2011年5月摘 要随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。并且几乎为零的错误率也使得餐馆可以更好的为顾客服务。它不仅可以为餐馆降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。本系统使用了VB.NET技术并采用了C/S架构,饭店服务人员使用它可以快速准确地为客户服务,人性化的系统界面设计使得软件便于使用者的快速掌握,计算机几乎为零的错误率和高效的处理能力使得原本繁琐的餐饮管理变得更加科学、快捷以及人性化。使用本系统,员工将可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。关 键 字:餐饮管理;VB.NET;C/S架构AbstractWith 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目 录第一章 餐饮信息管理系统的开发背景11.1 开发背景11.2 开发工具和相关技术简介1第二章 系统定义与系统需求42.1 系统定义42.2 系统需求分析4第三章 系统总体设计63.1 系统功能模块的划分63.2 管理员权限模块划分83.3 员工权限模块划分83.4 系统流程分析83.5 数据库设计93.5.1 数据库规划93.5.2 E-R图93.5.3 数据表的设计11第四章 系统详细设计154.1 数据库154.1.1 数据库的链接154.1.2 Is_SQL_Cmd方法154.1.3 SQL_Ada方法164.1.4 ExecCmd过程164.2 系统的登录与注销164.2.1 用户登陆模块的实现164.2.2 用户注销模块的实现184.3 客户信息管理194.3.1 客户信息的添加194.3.2 图像的处理204.3.3 客户信息的修改214.3.4 客户信息的删除234.3.5 客户信息的查询244.4 添加预定信息264.4.1 日期时间桌号的核对264.4.2 打折信息处理274.4.3 取消预定信息284.4.4 预定信息查询284.5充值与结算314.5.1 客户充值314.5.2 客户结算334.6 折扣设定334.7 用户管理334.7.1 用户的添加334.7.2 用户的删除34总 结37谢 辞38参考文献39餐饮信息管理系统的设计与实现第一章 餐饮信息管理系统的开发背景1.1 开发背景传统的餐饮管理现在已经很难应对当今社会对餐饮业的管理要求,它与现在的基于计算机技术发展起来的餐饮信息管理系统对比,有以下几大不同:便捷性方面:传统的人工对餐饮信息进行管理,如:顾客信息管理,菜单信息管理和订餐信息的管理,都是很繁琐的过程,其中的任何一步过程都要浪费大量的时间,而随着计算机技术的发展,这些原本繁琐的问题都会变得轻而易举。安全性方面:传统的纸质记录方式查询起来很麻烦,而且保密性很差,并且容易磨损丢失,对于会员余额的管理是非常不利的。但如果采用的是电子文档的方式进行数据的保存,这一切都变得非常简便,你可以方便的对数据信息进行备份查询,并且数据的安全性可以得到最大程度的保证。准确性方面:传统的人工记账容易出错,如果采用这种方式来处理现在的含有打折信息的消费结算会使得工作量很大,如果计算出错将严重影响自己的声誉。而如果使用软件系统,这些问题都将不会出现,计算机的错误率几乎为零。鉴于以上传统的人工管理方式的种种缺陷,我设计了方便中小级别餐饮企业使用的应用程序,通过它,管理者可以基本解决以上所遇到的种种问题,并且更加科学的对老客户进行打折,而且添加了主顾权限的不同设计使得它更加方便雇主对雇员的管理与监督。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.NETVisual Basic.NET 是从 Visual Basic 语言演变而来的,是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。Visual Basic 允许开发人员开发面向 Windows、Web 和移动设备的程序。与所有面向 Microsoft .NET Framework 的语言一样,使用 Visual Basic 编写的程序都具有安全性和语言互操作性方面的优点。这一代 Visual Basic 延续了为您提供一种简单快捷的方法来创建基于 .NET Framework 的应用程序的传统。Microsoft Visual Studio 2008Microsoft 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 与 MicrosoftVisual Studio2005 集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。SQL Server Express 是免费的,可以再分发(受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。SQL Server Express 是低端 ISV、低端服务器用户、创建 Web 应用程序的非专业开发人员以及创建客户端应用程序的编程爱好者的理想选择。C/S结构C/S(Client/Server或客户/服务器模式):Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 第二章 系统定义与系统需求2.1 系统定义计算机技术产生以后,迅速在管理领域得到了广泛的应用。20世纪60年代,美国经营管理协会及其事业部第一次提出了建立管理信息系统的设想,即建立一个有效的信息系统,使得各级管理部门都能了解本单位的一切有关经营活动,为各级决策人员提供所需要的信息。对于信息管理系统的定义,目前还没有一个统一的认识。由于餐饮管理系统是基于C/S模式,本文更倾向于采纳下述定义:餐饮信息管理系统是通过对整个餐饮服务流程的管理,实现业务的整体优化,提高企业运行控制和外部交易过程的效率的管理工具。2.2 系统需求分析现在的管理系统不仅要有漂亮的用户界面,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。本系统的设计与实施迎合了二十一世纪经济高速发展、人们的生活节奏日益加快以及现代餐饮业越来越发达和便捷这一现状。它将极大地方便食客的就餐,同时也有利于我们的管理和服务。同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。为了使系统更加人性化,便于管理员管理,此系统的用户将分为两种类型,一个是针对员工的餐饮管理系统,另一个是针对管理员(店主)的餐饮管理系统。员工使用本餐饮信息管理系统应可以实现以下功能:1. 添加修改查询客户会员信息(修改客户信息需客户确认)2. 查询菜单3. 添加查询预定信息,为老顾客打折4. 客户可以在自己的会员账户里充值5. 顾客可以用现金买单也可以从会员账户里扣取管理员使用本餐饮信息管理系统应可以实现以下功能:1. 添加修改查询客户会员信息(修改客户信息需客户确认)2. 添加修改查询菜单信息,最好能看到菜品图片3. 添加查询预定信息,为老顾客打折4. 客户可以在自己的会员账户里充值5. 顾客可以用现金买单也可以从会员账户里扣取6. 设定具体的打折方法7. 添加职员信息,权限也可以定为管理员。8. 可以查询使用者的现金收款金额除了实现以上功能外,本系统还需要方便用户地使用,使得用户可以很快地熟练掌握,从而可以让用户快速的投入工作。并且要避免逻辑错误的出现。第三章 系统总体设计3.1 系统功能模块的划分根据以上需求,餐饮信息管理系统功能被划分为以下模块,如图3.1所示:用户登录员工店主系统登录退出客户信息管理菜单信息管理充值结算管理折扣信息管理员工信息管理帮助预定信息管理图3.1 餐饮信息管理系统功能模块图系统登录退出模块:本模块是被用于用户登录,注销和退出。模块根据用户的不同类型赋予用户不同的管理权限。低等级的用户不可访问高等级用户的个别功能,而高等级用户可以使用低等级用户的所有系统功能。客户信息管理模块:本模块将餐饮企业松散的客户资源加以整合,通过标准化的管理操作,将客户资料加以收集。用户使用本模块可以方便的查询客户的所有资料和客户消费信息。并且特意添加了图像模块,使得用户的图像信息加以保留,方便使用者的查询和记忆,当客户再次光临时,服务人员可以直接认出客户,这将使得客户感到无微不至的关怀,提升餐厅的品牌形象。客户的资料变更需经客户的确认,以避免出现因失误操作导致的客户信息流失。菜单信息管理模块:本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。本模块的分权限设计将限制普通员工对菜单信息加以修改,以防止菜单价格被恶意修改,以此保证餐厅正常可靠的运营。订餐信息管理模块:通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。并且本模块在客户订餐的同时会给出已预定的菜品价格,帮助客户开心合理地消费。模块中包含的打折服务是本模块的一大特色。它将参考客户以往的消费情况和管理员设定的折扣程度对客户进行打折服务。而不是传统餐饮打折中的没有规律和凭据以询。后台的厨房通过本系统可以清楚地知道客户预定的菜品,这样就节省了大量用于菜品核对的时间,提高了厨房的效率,缩短了厨房上菜的时间。减少了不必要的人力物力财力资源的消耗,降低餐厅的运营成本,使餐厅以更好性价比服务于消费者,消费者可以得到更好的消费体验。充值结算管理模块:通过此模块,用户可以方便的为客户提供充值结算服务,充值收取的现金将会计入用户的收款现金中,便于管理员结算时核对收款金额。结算方式分为两种,一种是现金结算,一种是账户余额结算,现金结算的收款金额会计入用户的收款现金,而账户余额结算的金额会从客户的账户里扣除。折扣信息管理模块:本模块只限于管理员使用,通过它可以设定为客户打折时用到的折扣程度员工信息管理模块:本模块只限于管理员使用,管理员使用它,可以添加删除用户。用户类型分为店长(管理员)和职员。管理员删除用户时,如果要删除的是普通职员,系统将直接执行命令,如果要删除的是管理员账户,系统会先查看剩下的管理员账户数量,最少保留一个管理员账户,以便下次的登录。如果删除的用户是管理员本人,则在删除账户后,系统将会要求使用者重新登录。3.2 管理员权限模块划分管理员权限划分如图3.2所示:管理员权限系统登录退出顾客信息管理菜单信息管理充值结算管理折扣信息管理员工信息管理帮助预定信息管理图3.2 店长权限模块图管理员使用本系统将能使用系统的所有功能。3.3 员工权限模块划分员工权限划分如图3.3所示:员工权限系统登录退出顾客信息管理菜单信息查询充值结算管理帮助预定信息管理图3.3 雇员权限模块图员工使用本系统可以使用除了菜单信息编辑、折扣信息管理模块和员工信息管理模块之外的所有功能。3.4 系统流程分析系统流程分析如图3.4所示:用户登录员工店主客户添加维护客户信息添加客户的预定信息客户买单现金账户余额账户充值消费金额增加账户升级打折更多收款现金金额增加收款金额查看折扣设定食谱管理员工管理图3.4 系统流程分析流程图简介:员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值(增加用户的收款金额)。客户通过餐饮信息管理系统进行订餐(老用户在此环节中可能会享受打折服务)。客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。若余额不足,系统将会提示,那么客户只能使用现金支付。使用现金支付的话会增加用户的收款金额。管理员登录的话可以使用员工的所有功能,而且可以设定为客户打折的折扣程度和添加菜单,以及管理员工账户。3.5 数据库设计3.5.1 数据库规划根据以上模块划分图分析,针对餐饮信息管理系统,分别对用户、客户、食谱、预定、折扣这几个实体进行详细的调研和分析。数据库的设计采用一库多表式设计。即设计了一个数据库。把每个使用到的独立的对象设计为独立的应用实体。3.5.2 E-R图用户(User)用户编号用户密码用户类型身份证号用户姓名用户电话收款金额图3.5 用户E-R图主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。客户(customer)客户编号客户地址客户密码客户姓名添加时间账户余额已用金额客户地址客户照片客户电话客户手机用户编号客户生日图3.6 客户E-R图主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。食谱(food)食谱名称价格食谱功效食谱配料食谱照片图3.7 食谱E-R图主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。预定(YuDing)身份证号消费金额客户姓名日期时间用户编号桌号预定餐点图3.8 预定E-R图主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。折扣(discount)折扣程度已消费金额图3.9 折扣E-R图存储管理员(店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。3.5.3 数据表的设计1、 user(用户表)表3.1 user序号字段名称字段描述字段类型长度备注1user_id用户编号char20不允许空2Pwd用户密码char20不允许空3Style用户类型nchar20不允许空4Id用户身份证号char20不允许空5Name用户姓名char20不允许空6Tel用户电话Char20不允许空7Money收款金额money允许空用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段money用于记录用户的收款金额,便于结算时对收款现金的核对。2、 customer(客户表)表3.2 customer序号字段名称字段描述字段类型长度备注1Name客户姓名char20不允许空2Id客户编号nchar20不允许空3Address客户地址char50不允许空4Birthday客户生日nchar20不允许空5Pwd客户密码nchar20不允许空6Addtime添加时间nchar20不允许空7Money账户余额money不允许空8usedmoney已用金额money不允许空9Photo客户照片image允许空10Tel客户电话nchar20允许空11mobilephone客户手机nchar20不允许空12Userid用户编号nchar10不允许空客户表主要用于存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。字段usedmoney用于记录客户的消费情况,为客户打折时会使用到它。3、 food (食谱表)表3.3 food序号字段名称字段描述字段类型长度备注1Name食谱名称nchar20不允许空2Price价格money不允许空3Photo食谱照片image允许空4Efficacy食谱功效nchar50允许空5Formula食谱配料nchar50允许空食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。字段Price记录的是食物的价格。当客户预定餐点时,系统使用它来算费用。4、 YuDing(预定表)表3.4 YuDing序号字段名称字段描述字段类型长度备注1Tableid桌号nchar10不允许空2Date日期nchar20不允许空3Time时间nchar10不允许空4Name客户姓名nchar10不允许空5customerid客户身份证号nchar10不允许空6Userid用户编号nchar10不允许空7Food预定餐点nvarcharMAX不允许空8Money消费金额money不允许空预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。5、 discount(折扣表)表3.5 discount序号字段名称字段描述字段类型长度备注1usedmoney已消费金额char10不允许空2Discount折扣程度char10不允许空折扣表用于存储管理员(店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。当客户预定餐点时,打折服务的折扣程度就是参照该表。第四章 系统详细设计4.1 数据库4.1.1 数据库的链接为了便于用户使用和维护,我们将与数据库的连接,单独写出来并进行编译,这样系统在新的环境使用时,只需改动一处数据库连接代码,即可立即使用,连接关键代码如下:Public Shared constr As String = Data Source=WWW-3C702F2C1C8SQLEXPRESS;Initial Catalog=dcdatebase;Integrated Security=True其中Public Shared constr As String = Data Source=WWW-3C702F2C1C8SQLEXPRESS;Initial Catalog=dcdatebase;Integrated Security=True是数据库连接语句,WWW-3C702F2C1C8是计算机名。4.1.2 Is_SQL_Cmd方法方法Is_SQL_Cmd是判断数据是否存在,当系统登录和添加客户需要验证数据库中是否存在提交的数据时会用到它。其主要代码如下: Public Function Is_SQL_Cmd(ByVal cmdstr As String) 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() End Try End Function4.1.3 SQL_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 Function4.1.4 ExecCmd过程ExecCmd是为系统中的添加、删除、修改服务,系统里的客户、菜单、折扣和员工的添加、删除和修改都用到了该过程。 Public Sub ExecCmd(ByVal cmdstr As String) SqlConn = New SqlConnection(constr) SqlConn.Open() SqlCmd = New SqlCommand(cmdstr, SqlConn) SqlCmd.ExecuteNonQuery() End Sub4.2 系统的登录与注销4.2.1 用户登陆模块的实现图4.1 用户登录用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行系统操作时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行登录对系统进行操作。如果用户以职员的身份进入系统,则只能进行顾客信息管理、菜单信息查询、预定信息管理和充值结算管理,而菜单信息管理、折扣设定、员工管理这些功能将被屏蔽,如果用户以管理员(店长)身份登录,系统的所有功能都将可以使用。以下是“登录”按钮的代码:cmdstr = select * from user where user_id = + TextBox1.Text + and pwd= + TextBox2.Text + and style= + ComboBox1.Text + Try If sqlobject.Is_SQL_Cmd(cmdstr) Then main.m_Login = True . /类似部分省略 Me.Close() Else MsgBox(请填写正确的用户名、密码和用户类型!) 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用户通过本模块可以注销系统,系统恢复到登录前画面,这样就可以防止在用户离开后,系统数据被人恶意修改。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,userid)VALUES( + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + , + DateTimePicker1.Value.ToString + , + TextBox6.Text + , + Now + , + 0 + , + 0 + , + TextBox4.Text + , + TextBox5.Text + , + user + ) 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 + 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 客户信息的修改当客户资料因实际情况发生变更时,可以修改系统中的资料数据,用户需提供注册时所使用的客户密码。使用密码可以防止客户的资料被恶意修改。充分保护客户权益,即使是管理员也不能在不经过客户同意的情况下修改客户数据。以下是修改按钮的代码。 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= + TextBox11.Text + + ,pwd= + TextBox13.Text + + where id= + TextBox8.Text + Try sqlobject.ExecCmd(CmdStr) /执行更新 MsgBox(修改成功) TextBox8.Text = . PictureBox2.Image = Nothing Call TabControl1_SelectedIndexChanged(sender, e) Catch ex As Excep

温馨提示

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

评论

0/150

提交评论