酒吧管理系统.doc_第1页
酒吧管理系统.doc_第2页
酒吧管理系统.doc_第3页
酒吧管理系统.doc_第4页
酒吧管理系统.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

酒吧管理系统 摘 要在酒吧业竞争越来越激烈的今天, 努力在市场竞争中脱颖而出, 已经成为每位酒吧经营者所追求的目标。酒吧如何才能提高服务质量, 其管理能力显得越来越重要。由于使用了先进的数据库管理技术, 酒吧管理系统对提高酒吧的管理能力将会起到比较重大的作用, 整个系统的基本设计目标是实现系统界面友好美观、简单易用、功能全面并有较高的安全性。本文主要介绍了利用visual c+开发的酒吧管理系统。前台以visual c+为开发工具, 设计软件的界面和各个功能模块,后台使用access进行系统数据库的连接和管理。本文对酒吧管理系统进行了需求分析、概要设计,并给出了系统的具体实现。关键词: visual c+,酒吧管理系统,access,需求分析,概要设计abstractwith the increasingly competitiveness, striving to stand out in the market competition has become the goal of each bar. how to improve service quality, the management capability of bar became more and more important. the use of advanced database management technology, bar management system played a more significant role of improving the management capacity of the bars. the systems goal was to achieve the system user-friendly appearance, easy-to-use, full-featured and have a higher security. this paper developed the bar management system with visual c+. the interface and some functional modules were implemented with visual c+, and access was used to implemented database connectivity and management. the paper gave requirement analysis, outline design, and gives concrete realization of the bar management system.key words: visual c+, bar management system, access, requirement analysis, summary design目 录摘 要iabstractii第1章 绪论51.1 研究背景及意义51.2 酒吧管理系统的现状51.3 管理系统的开发过程61.4 论文研究内容8第2章 系统需求分析92.1 可行性分析92.2 功能需求102.3 数据需求102.4 质量需求112.5 开发工具的选择12第3章 系统概要设计133.1 系统设计思想133.1 系统总体设计143.2 系统总体功能图153.3 数据库设计153.3.1数据库的选择153.3.2数据库设计16第4章 酒吧管理系统详细设计与实现184.1 系统结构184.2 用户登录注册子系统184.2.1 功能概述184.2.2 具体实现194.3 酒吧消费品管理及销售统计子系统224.3.1 功能概述224.3.2 具体实现23第5章 总结与展望315.1 总结315.2 展望31参考文献33致 谢3437第1章 绪论1.1 研究背景及意义随着计算机技术的发展和互联网时代的到来,人们已经进入了信息时代。为了改善企业的管理水平和办公效率,许多企业结合本身的特点,融合有先进的管理思想和手段的以管理人员为核心的人机交互式管理系统,兴起了建设mis系统的热潮,这成为企业发展必不可少的推进力量。同时随着中国加入wto,使各行各业也面临前所未有的发展机遇,但也带来了极大的挑战,酒吧业也将无一例外地面对国际先进酒吧管理经验和管理技术的冲击。由于酒吧组织庞大,服务项目多,信息量大,传统手工的酒吧管理,管理过程繁琐而复杂,执行效率低,并且易于出错,已经不能适应市场的需要。因此,各酒吧都在努力拓展服务领域的广度和深度,努力树立企业形象,尤其是在intranet和因特网技术迅猛发展的推动下,酒吧行业更试图通过计算机网络支持以实现新的工作组织和管理方式,实现信息资源的共享,提高工作效率,降低管理成本,赢得更大的经济效益和社会效益。虽然计算机并不是酒吧走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,实现系统平台方面由主机计算模式向客户机-服务器模式过度,采用全新的计算机网络和管理系统,将成为提高酒吧的管理效率、改善服务质量的重要手段之一。1.2 酒吧管理系统的现状信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初期,是单一的人机系统,系统功能简单,效率低,对管理的作用有限。进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统(es)或决策支持系统(dss),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展1。目前许多中小酒吧(甚至包括一些大型酒吧)还没有实现信息化,网络化。数据传递、信息发布等多为手工模式,管理方面缺少科学化。这使得酒吧的工作效率难以提高,劳动成本也难以降低。也有一些酒吧使用了微机管理,但也只是单机独立运行方式,而随着科技的发展,管理系统的网络化才是发展的趋势。1.3 管理系统的开发过程管理信息系统的开发过程一般包括系统开发准备、系统调查、系统分析、系统设计、系统实现、系统转换、系统运行与维护、系统评价等步骤。根据开发系统的大小、复杂、投入、方式、方法等因素的不问,各步骤的要求和内容也不同,用户需要根据实际情况进行取舍和计划2。(1)系统开发准备(2)系统调查调查的主要内容有以下几个方面:1)现行系统概况:该组织的发展历史、目前组织的规模、工作状况、管理水平、与外界的主要联系等。调查该项内容的目的主要是为了划分系统界限、系统与外界的输入输出接口等。2)组织机构:画出组织的组织结构图,弄清组织的行政关系、人员编制、工作范围、地理位置等,发现不合理问题及新系统启动后可能对现有组织的影响。3)业务流程:按照业务种类的不同和处理时间的先后不同,深入了解现行系统的业务流程,画出现行系统业务流程图,并与业务人员反复讨论,得到认可。调查中要注意定性与定量相结合,注意人、财、物、信息的流向、规格、频率、要求以及需要解决的问题等。4)报表、数据处理:了解各种统计报表、数据的格式、内容、处理时间及上报时间、频率、规律,存在的问题,对新系统的要求、希望等并收集各种报表。5)问题:现行系统中存在的主要问题和薄弱环节,可以按照严重程度分成不同的等级。新系统的建立应能解决大部分问题,并改善薄弱环节。6)新系统的功能和目标:了解各级领导和各类业务工作人员对新系统功能的要求,(3)系统分析系统分析是管理信息系统开发的关键环节,要求在系统调查的基础上,对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型。新系统的逻辑模型由系统数据流程图、概况表、数据字典、物理逻辑表达式及有关说明组成。最后要完成系统分析报告(也称为系统逻辑设计说明书)。因为新系统模型是建立在对现行系统的分析及要求的基础上的,所以系统调查工作要进行得深入、细致、全面。用户可以对新系统的逻辑模型提出意见,双方经过讨论、修改,最后达成共识,并完成系统分析报告(系统逻辑设计说明书),经有关领导审批通过之后,转入系统设计(又称系统物理设计)阶段。(4)系统设计系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可利用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。(5)系统实施与转换系统实施阶段的主要工作包括:系统硬件的购置与安装、程序的编写(购买)与调试、系统操作人员的培训、系统有关数据的准备和录入、系统调试和转换。(6)系统维护和评价管理信息系统是一个复杂的人机系统。系统外部环境与内部因素的变化,不断影响系统的运行,这时就需要不断地完善系统,以提高系统运行的效率与服务水平,这就需要从始至终地进行系统的维护工作。系统评价主要是指系统建成后,经过一段时间的运行后,要对系统目标与功能的实现情况进行检查,并与系统开发中设立的系统预期目标进行对比,及时写出系统评价报告。系统维护与评价阶段是系统生命周期中的最后一个阶段,也是时间最长的一个重要阶段。1.4 论文研究内容本系统是通过对中小酒吧本身的特征、特点,主要作用及基本业务等各方面进行全面综合的了解,分析,归纳和总结,把中小酒吧的工作方法和计算机技术相结合,研制开发的应用软件。本文详细介绍了系统的开发过程和各个子系统的功能。运用面向对象的方法进行系统分析和系统设计。本文主要分五个部分的内容:第一部分为绪论部分,对课题研究背景及意义、酒吧管理系统的现状、管理系统的开发过程和论文的研究内容做了简要的介绍。第二部分对酒吧管理系统进行可行性分析、需求分析,包括功能需求、数据需求、质量需求。第三部分对系统进行概要设计,给出了总体功能图和数据库设计。第四部分对酒吧管理系统的具体实现进行了详细的介绍,主要包括各个核心模块的具体实现。最后是本文的总结和展望。总结了本文的工作和未来工作的展望。第2章 系统需求分析需求分析是软件生存周期中相当重要的一个阶段,通过开发人员与用户之间的广泛交流,确定待开发软件的功能、性能、数据、界面等要求。需求分析的好坏将直接影响到开发的软件的成败。开发酒吧管理系统的需求分析是通过对酒吧管理模式的了解,通过与酒吧工作人员的交流,获取酒吧管理人员对系统的需求,以及对开发系统各方面的建议而得到的。对其建议进行筛选、归纳和总结,最终确定了用户对该系统的需求。2.1 可行性分析可行性分析(feasibility analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功3。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容:经济可行性:主要是对项目的经济效益进行评价,本系统开发经费对于本企业在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,有助于企业的信息化管理,所以为该企业开发酒吧管理系统在经济上是可行的。技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该酒吧管理系统采用了当前新兴的browser/server模式进行开发,而且又紧密的结合了internet/intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用access数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台己成熟。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要4。时机可行性:目前国外的酒吧信息化管理已经发展的很成熟,中国的酒吧信息化管理还正处于发展阶段,在这样的社会被景下,我国的信息化酒吧管理己经到了刻不容缓。开发酒吧管理系统,是对客源市场的战略考虑,是市场竞争的新优势,可提高酒吧的综合竞争力。管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。规章制度和管理方法为酒吧管理系统的建设提供了制度保障。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此,系统的开发是完全可行的。2.2 功能需求功能需求说明了系统的功能58,即系统是如何记录、计算、转换和传输数据的。每个接口都有它自己的功能。通常,用户界面是最重要的接口。1) 用户基本需求 用户登陆及注册 修改用户信息 用户信息查询 vip会员信息管理 vip折扣管理 酒吧消费品销售 酒吧消费品查询 酒吧销售额统计2) 用户功能需求 需要注册、编辑、删除用户信息 需要插入、编辑和删除vip会员信息和折扣信息 需要提供丰富的销售消费品信息供用户浏览 需要进行酒吧消费品(酒水等)的销售管理 需要实现酒吧销售额的统计2.3 数据需求数据需求是需求的重要组成部分,用于说明系统的输入、输出数据以及系统内部存储的数据。酒吧管理系统中,数据库的内容是系统的最重要部分系统功能的实现主要用于数据维护和数据的各种显示。其中数据模型则说明了系统所要存储的数据以及数据之间的关系。图2-1、2-2给出该系统的实体/关系模型。用 户用户id用户名用户密码身份证号电话号码家庭住址 图2-1 用户属性图普通用户浏 览酒吧物品出售编 辑管理员编 辑mm1n1nn用户信息1注 册11n 图2-2 酒吧管理系统的e-r图2.4 质量需求质量需求说明了系统执行功能的好坏程度。许多质量需求不仅仅是软件需求,而是对整个系统的需求。下面分别来进行说明。1) 界面风格需求 风格倾向名词:时尚、稳重、诱惑 主色调倾向名词:橙黄色、棕色、黑色2) 可用性需求 系统界面友好,简洁清晰,以便用户能快速地掌握并使用 系统访问速度要快,避免等待 系统应使用通俗的语言,也就是一般用户熟悉的词汇、惯用语和概念,而不是术语 避免出现有歧义的词汇,方便用户的正确选择3) 环境需求 需要分享数据,应遵循通用的软件开发技术4) 可维护性需求 系统应具有延展性并且可维护5) 安全性需求用户的信息能够得到尊重,不能被随意篡改;系统应该是安全的尽量不受到黑客的攻击2.5 开发工具的选择目前在市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:microsoft公司的visual basic企业版、visual c+企业版inprise(原boland)公司的delphi,oracle公司的developer和sybase公司的powerbuilder等。其中visual c+是经过验证和考验的已经成熟了的开发工具,以其卓越的性能脱颖而出913。本设计选择了windows xp开发平台,使用visual c+编程语言,另外系统使用access作为后台数据库。第3章 系统概要设计3.1 系统设计思想常见的设计思想有两种:结构化和面向对象化。传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先分析需求,确定功能,然后以函数的形式进行建模。在一个应用系统中很可能有很多函数,这些函数能够不受限制的互相调用,因此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象的分析和设计方法源于现实生活中的模块化的思想。对象是提供一组相关功能的实体,对象之间互相作用从而完成一定的任务。开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。面向对象(简称oop)方法的主要特征是抽象和数据封装、派生和继承、多态性。(1)抽象性抽象是对象建模参数的选择,这是进行分析后得到的结果。这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。(2)封装性封装性是指对象是数据和处理该数据的方法所构成的整体,外界只能看到其外部特性(消息模式、处理能力等),其内特性(私有数据、处理方法等)对外不可见。对象的封装性使得信息具有隐蔽性,它减少了程序成分间的相互依赖,降低程序的复杂性,提高程序的可靠性和数据的安全性。这个步骤将确保对象的行为以简单的借口出现,而复杂的执行过程都被隐藏了。(3)继承性继承性反映的是类与类之间的不同抽象级别,根据继承与被继承的关系,可分为基类和衍生类,基类也称为父类,衍生类也称为子类,正如“继承”这词给我们的字面提示一样,子类从父类那里获得所有的属性和方法,并且可以对这些获得的属性和方法加以改造,使之具有自己的特点。继承性使得相似的对象可以共享程序代码和数据,继承性是程序可重用性的关键。(4)多态性多态性是指在形式上表现为一个方法根据传递给它的参数的不同,可以调用不同的方法体,实现不同的操作。将多态性映射到现实世界中,则表现为同一个事物随着环境的不同,可以有不同的表现形态及不同的和其他事物通信的方式。多态性使程序员能在一个类等级中使用相同函数的多个版本,程序员可以集中精力开发可重用的类和方向而不必过分担心名字的冲突问题。oop方法是以“对象”为中心进行分析和设计,紧抓“模型化世界”的对象,使这些对象形成了解决目标问题的基本构件,即解决从“用什么做”到“要做什么”。其解决过程从总体上说是采用自底向上方法,先将问题空间划分为一系列对象的集合,再将对象集合进行分类抽象,一些具有相同属性行为的对象被抽象为一个类,类还可抽象分为子类、超类(超类是子类的抽象)。其间采用继承来建立这些类之间的联系,形成结构层次。同时对于每个具体类的内部结构,又可采用自顶向下逐步细化的方法由粗到细精化之。调试运行时通过向类对象发消息来完成,对象执行相应操作并返回结果,使对象集的初始状态变成了终态。故00p总体来说主要是不断设计新的类和创建对象的过程。由于面向对象设计自身的优点,本系统使用了面向对象的程序设计思想。3.1 系统总体设计对于酒吧管理系统,主要负责的功能是指对酒吧所售消费品的入库、出售,以及销售管理,另外还包括对系统的用户和vip客户进行信息管理。(1) 用户信息注册:建立用户信息库,给不同用户分配不同的系统权限。(2) vip会员信息和折扣管理:建立vip表,存放会员基本信息和享有的折扣信息。(3) 消费品信息入库:建立消费品信息库,以便工作人员进行查询。(4) 修改消费品信息:在建立信息库时可能因操作错误或其它情况而造成数据库里消费品信息的错误,需要修改这些错误。(5) 销售信息入库:在销售酒吧相关消费品时,把相应的销售信息,例如销售的品种、数量等信息存放在数据库中。(6) 酒吧消费品查询:提供丰富的销售消费品信息供用户查询浏览。(7) 销售信息统计:对酒吧销售的消费品进行统计查询,主要是对账务的统计。3.2 系统总体功能图根据第2章中系统的需求分析,将酒吧管理系统分为三个子系统:用户信息子系统、酒吧消费品管理子系统和酒吧销售信息统计子系统,其功能结构如图3-1所示。图3-1 酒吧管理系统功能结构图3.3 数据库设计3.3.1数据库的选择数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。数据库(database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用己越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。可以说一个动态网站的建设是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:fox数据库、access数据库、dbz、informix、oracle和 sql server等等,大多数酒吧管理系统需要后台数据库的支持。在windows操作系统中,access和 sql server是最常见的后台数据库。在互联网上,很多人出于性能的考虑选择sql数据库。在本次设计中,选择了access作为后台数据库工具,access易用,并提供了许多标准的关系数据库管理功能的支持。他的各种关系数据库管理系统适应于各种硬件平台,主机系统。3.3.2数据库设计根据以上的功能概述,对该系统进行数据库设计。基于不同角色的用户拥有不同的权限,现设计表userinfo来保存系统的所有用户信息,包括管理员。其结构如表3-1所示。表3-1 userinfo存放用户信息字段名称数据类型说明userid数字用户id(主键)username文本用户名passwd文本用户密码idcard文本身份证号码telno文本电话号码address文本地址fat数字用户级别表3-1中,字段fat用来区分用户的级别,不同级别可以实现不同的功能,级别越高,权限越大。在酒吧管理系统中,对于酒吧消费品的管理是系统的重要组成部分。本文中,设计表styleinfo来保存系统的所有消费品信息。其结构如表3-2所示。表3-2 styleinfo存放消费品信息字段名称数据类型说明id数字消费品id(主键)style文本消费品名称count数字消费品数量money货币消费品价格date日期/时间日期除了对消费品的管理,还要对销售情况进行管理。设计表sellinfo来存放酒吧消费品的销售信息,便于查询和统计,其结构如表3-3所示。表3-3 sellinfo存放销售信息字段名称数据类型说明id数字销售id(主键)username文本用户名selldate日期/时间销售日期money货币价格style文本消费品名称count数字销售数量在酒吧管理系统中,还设置了vip客户和普通客户,普通客户按标价消费,而vip会员则可以享受一定的折扣,设计表vip来存放vip客户信息和享受的折扣,其结构如表3-4所示。表3-4 vip存放销售信息字段名称数据类型说明id数字id(主键)vipid数字会员idvipname文本会员姓名acount文本折扣第4章 酒吧管理系统详细设计与实现第3章对酒吧管理系统进行了概要设计,本章对该系统进行设计,并给出相关功能模块的具体实现。4.1 系统结构图4-1 酒吧管理系统结构图4.2 用户登录注册子系统4.2.1 功能概述用户登录是酒吧管理系统的入口,只有合法用户才可进入。未注册用户可以先完成注册再进入系统,实现酒吧消费品管理和销售信息等功能。管理员用户登录后进入可以实现删除用户等高级操作。4.2.2 具体实现用户登录注册模块中,涉及到的页面比较多,在这里只对核心页面的实现进行介绍。(1) 注册表单useradd.cpp在工作人员进行注册的时候,默认为所有的工作人员均为普通用户,能使用系统的普通功能,若为管理员用户,则具有删除等权限。1)用户注册后,将用户的基本信息存放在数据库表userinfo中,核心代码如下所示。void cuseradd:onadd() cstring strid,struser,strwd,strsurewd,strcard,straddress,strtel,strfat;(cedit*)getdlgitem(idc_edit1)-getwindowtext(strid);(cedit*)getdlgitem(idc_edit2)-getwindowtext(struser);(cedit*)getdlgitem(idc_edit3)-getwindowtext(strwd);(cedit*)getdlgitem(idc_edit4)-getwindowtext(strsurewd);(cedit*)getdlgitem(idc_edit5)-getwindowtext(strcard);(cedit*)getdlgitem(idc_edit6)-getwindowtext(strtel);(cedit*)getdlgitem(idc_edit7)-getwindowtext(straddress);(cedit*)getdlgitem(idc_edit8)-getwindowtext(strfat);int len = strwd.getlength();if (strid = ) | (struser = ) )afxmessagebox(id及用户名不能为空,请填写正确!);return;if (lenopen(select * from userinfo,connectionptr.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);recordsetptr-addnew();recordsetptr-putcollect(_variant_t(long)0),_variant_t(strid);recordsetptr-putcollect(_variant_t(long)1),_variant_t(struser);recordsetptr-putcollect(_variant_t(long)2),_variant_t(strsurewd);recordsetptr-putcollect(_variant_t(long)3),_variant_t(strcard);recordsetptr-putcollect(_variant_t(long)4),_variant_t(strtel);recordsetptr-putcollect(_variant_t(long)5),_variant_t(straddress);recordsetptr-putcollect(_variant_t(long)6),_variant_t(strfat);recordsetptr-update();recordsetptr-close();afxmessagebox(操作完成);sendmessage(wm_close);return;elseafxmessagebox(请确定次密码一致);return;updatewindow();2) 用户注册界面如图4-2所示。图4-2 用户注册界面(2) 登录表单用户在登录时系统会判断其身份,管理员和普通用户将拥有不同的操作权限。用户登录界面如图4-3所示。图4-3 用户登录界面用户登录以后,页面上显示该用户所能执行的操作,如图4-4所示。图4-4 功能控制界面4.3 酒吧消费品管理及销售统计子系统4.3.1 功能概述酒吧消费品管理子系统包括消费品信息入库,修改、删除和查询消费品信息。实现消费品基本信息的插入、编辑、删除和浏览能操作。 酒吧消费品销售统计子系统包括对现有酒吧的消费品进行销售、统计和管理。4.3.2 具体实现(1) 消费品销售子系统主要是对酒吧中现有消费品的销售情况记录下来,便于酒吧的销售管理和统计,其核心代码如下所示。void cselldlg:onbutton2() extern _connectionptr connectionptr;_recordsetptr precordsetptr,precordsetstyleptr;cstring strwork,strnam1,strstyle,strmoney,strcount;cstring strstylecount,strold;_variant_t stylecount,sellcount;(ccombobox*)getdlgitem(idc_combo1)-getwindowtext(strstyle);char sqlchar100;strcpy(sqlchar,select count from styleinfo where style=);strcat(sqlchar,strstyle);strcat(sqlchar,);precordsetstyleptr.createinstance(_uuidof(recordset);tryprecordsetstyleptr-open(sqlchar,connectionptr.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);catch (cexception* e)afxmessagebox(1);stylecount = precordsetstyleptr-getcollect(_variant_t(long)0);strstylecount = (lpcstr)_bstr_t(stylecount);cstring strsql;strsql.format(select sum(count) from sellinfo where style=%s,strstyle);precordsetstyleptr.createinstance(_uuidof(recordset);precordsetstyleptr-open(_bstr_t(strsql),connectionptr.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);sellcount = precordsetstyleptr-getcollect(_variant_t(long)0);if (sellcount.vt = vt_null)strold = 0;elsestrold = (lpcstr)_bstr_t(sellcount);int i = atoi(strstylecount) - atoi(strold);strstylecount.format(%d,i); i = messagebox(确认售出?,销售提示,mb_yesno);if (i = idyes)updatewindow();precordsetptr.createinstance(_uuidof(recordset);tryprecordsetptr-open(select * from sellinfo,connectionptr.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);catch (cexception* e)afxmessagebox(1);(ccombobox*)getdlgitem(idc_combo1)-getwindowtext(strstyle);(cedit*)getdlgitem(idc_edit4)-getwindowtext(strmoney);(cedit*)getdlgitem(idc_edit5)-getwindowtext(strcount);if (strmoney = ) | (strcount = )afxmessagebox(数量及金额未填写,请填写!);return;if (atoi(strcount) atoi(strstylecount)cstring strerr;strerr.format(库存量不足,目前只有存货量为-%s,strstylecount);afxmessagebox(strerr);(cedit*)getdlgitem(idc_edit4)-setwindowtext();(cedit*)getdlgitem(idc_edit5)-setwindowtext();return;precordsetptr-addnew(); precordsetptr-putcollect(_variant_t(long)0),_variant_t(strworkid);/strworkid precordsetptr-putcollect(_variant_t(long)1),_variant_t(strname);/strname precordsetptr-putcollect(_variant_t(long)2),_variant_t(strtime);/strtime precordsetptr-putcollect(_variant_t(long)3),_variant_t(strmoney);/strmoneyprecordsetptr-putcollect(_variant_t(long)4),_variant_t(strstyle);/strstyle precordsetptr-putcollect(_variant_t(long)5),_variant_t(strcount);/strcountprecordsetptr-update();precordsetptr-close();g_money = g_money + atoi(strmoney);showall();updatewindow(); 消费品销售界面如图4-5所示。图4-5 酒吧消费品销售界面显示所有的销售信息的核心代码如下:void cselldlg:showall()cstring strworkid,struser,strselldate,strstyle,strmoney,strcount;_variant_t workid,user,selldate,style,money,count;_recordsetptr recordsetptr;extern _connectionptr connectionptr;clistctrl* plist = (clistctrl*)getdlgitem(idc_list1);plist-deleteallitems();char sqlbuf100;strcpy(sqlbuf,select * from sellinfo where selldate=#);strcat(sqlbuf,strtime);strcat(sqlbuf,#);recordsetptr.createinstance(_uuidof(recordset);recordsetptr-open(sqlbuf,connectionptr.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);if(recordsetptr-adoeof)return;recordsetptr-movefirst();int i = 0;while (!recordsetptr-adoeof)workid = recordsetptr-getcollect(workid);user = recordsetptr-getcollect(username);selldate = recordsetptr-getcollect(selldate);money = recordsetptr-getcollect(money);style = recordsetptr-getcollect(style);count = recordsetptr-getcollect(count);strworkid = (lpcstr)_bstr_t(workid);struser = (lpcstr)_bstr_t(user);strselldate = (lpcstr)_bstr_t(selldate);strmoney = (lpcstr)_bstr_t(money);strstyle = (lpcstr)_bstr_t(style);strcount = (lpcstr)_bstr_t(count);plist-insertitem(i,strworkid);plist-setitemtext(i,1,struser);plist-setitemtext(i,2,strselldate);plist-setitemtext(i,3,strmoney);plist-setitemtext(i,4,strstyle);plist-setitemtext(i,5,strcount);g_count = g_count+atoi(strcount);recordsetptr-movenext();i+;recordsetptr-close();查询销售情况的核心代码如下所示:void c

温馨提示

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

评论

0/150

提交评论