Delphi超市管理系统.doc

上传人:仙人指路1688 文档编号:2386422 上传时间:2023-02-17 格式:DOC 页数:29 大小:1.18MB
返回 下载 相关 举报
Delphi超市管理系统.doc_第1页
第1页 / 共29页
Delphi超市管理系统.doc_第2页
第2页 / 共29页
Delphi超市管理系统.doc_第3页
第3页 / 共29页
Delphi超市管理系统.doc_第4页
第4页 / 共29页
Delphi超市管理系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Delphi超市管理系统.doc》由会员分享,可在线阅读,更多相关《Delphi超市管理系统.doc(29页珍藏版)》请在三一办公上搜索。

1、第1章 概述1.1 课题研究的背景与意义1.1.1 系统的应用背景自从我国成功加入WTO以后,随着信息化浪潮的日益临近,超市的经营管理机制也正在发生着巨大的变化,超市要想在激烈的市场竞争环境下生存下来,就必须有效地利用人才和时间以及信息,使它们相结合而产生优势,并进行有效的超市内部的改革以及仓库的管理。因此,借助现代化的信息技术和管理的理论,建立超市的信息管理系统已经迫在眉睫。本系统根据商品管理的业务的范围和工作的特点,给系统设计了包括商品经营管理、人员管理、商情信息管理等,能够及时、准确地反映超市经济活动状态,成为超市内各级管理人员的有力工具。这样可以大大的减轻超市工作人员的工作量,并且全面

2、的提高超市仓库管理的管理效率和服务质量,它操作很方便,并且功能齐全,给用户节省了不少的宝贵时间,将使超市的管理水平和业务水平跃上新的台阶。1.1.2 系统的开发意义前些年,企业的进货管理主要都是采用手工管理,而这几年,随着我国社会主义市场经济体制的巩固和发展,在商业的流通领域产生了一个空前的发展阶段,而面对商界的激烈的竞争,很多企业规模的不断扩大,并且经营项目的不断增加,使得手工的管理已经不能够满足企业发展的需要了。而由于每天的销售量的增加,导致进货的次数变得频繁。而进货次数的增加,就不免在业务上、财务上会出现大量的问题,进而会造成库存数目的混乱,并最终导致管理混乱,形成一个恶性的循环。所以为

3、了规范企业的内部管理,并提高企业的业务管理水平,而让企业更好地服务于顾客,人们开始想用计算机来代替手工操作管理业务1。这次系统的开发,主要包括基础信息管理、采购信息管理和系统辅助管理三大模块。基础信息管理主要是对系统中要用到一些基础信息进行维护和管理;采购信息管理主要是对采购业务进行管理;系统辅助管理主要有系统数据备份和用户账号管理两大功能。本信息管理系统的使用,使得企业的组织结构更加的简化,使得传统的企业中的物价、核算等部门的工作完全被计算机相关功能代替,这样,就节省了这些部门的设备和人工费用的支出。从而使企业获得更大的经济效益。1.2 系统开发的实验基础与理论基础1.2.1 系统开发的实验

4、基础对于技术的可行性:开发连锁超市信息管理系统(基于Delphi),要求开发人员都能够熟练的运用Delphi等编程语言。目前的技术人员已经掌握了这些编程语言。所以,本次系统的开发在技术上是可行的。对于时间的可行性:开发的时间大概需要四个月左右。前三个月,主要用于系统的分析、设计、实现,而后面的时间则主要用于调试工作。对于资金的可行性:因为目前已有电脑设备,为开发工作提供了所需的硬件基础,所以在开发资金方面也是可行的。1.2.2 系统开发的理论基础信息管理系统是一个信息化、智能化以及具有先进管理理念的集合体。但是由于管理它是一个动态的过程,所以在它的运行过程中还需要采取多种措施2。在管理中获得的

5、经济效益是一种综合的效益,而要对它来进行直接的定量的分析是非常困难的,对于一般的新系统,它们带来的经济效益是明显的,而信息管理系统最主要的表现就是减少了企业的管理费用和人力资源的开支。对于其它的一些繁琐事物将都通过系统来加以分析和解决,这样就不仅节省了大量的时间,而且还为企业的各项决策提供了可信的数据材料,必将为企业带来巨大的经济效益3。1.3 本文主要内容及组织结构1.3.1主要内容由于连锁超市信息管理系统的工程量很大,本文只对其子系统基础信息管理系统进行详细的研究和开发。基础信息管理系统的主要组成模块包括:登录模块、基础信息设置模块、采购信息设置模块和系统辅助管理模块。对这些模块进行了详细

6、的分析设计与实现,并进行了测试工作,最后结果显示是可行的。因为传统的基础信息管理是使用的各类表单来记录的数据,到最后还需要盘点或者统计,这样是十分耗费时间和人力的。而采用基础信息管理系统对货物的进出的情况进行管理,则可以非常方便地做好各类统计,并且给生产和销售人员及时提供相关货物信息4。这个系统主要实现了基础信息管理的自动化,其中主要包括商品的添加、删除、查询和修改的操作,以及厂商和职员的相关信息的管理,例如:对于厂商的信息管理、职员所属部门的管理。这个系统使用了SQL Server2000作为后台的数据库来管理系统,并且在前端使用了 ADO组件来访问实际的数据库内容。1.3.2 组织结构第一

7、章 概述,介绍本系统的研究背景,超市信息管理系统的发展趋势,本系统开发的意义以及系统开发的基础。第二章 开发技术分析与研究,包括系统开发模式分析,开发工具Delphi概述,Delphi中常用组件的属性及事件,数据库组件的用法,ADO 组件的用法等。第三章 系统的概要设计及分析,包括系统功能模块设计,系统流程分析。第四章 系统的详细设计与实现,包括数据库的设计,系统工程框架的创建,基础数据模块设计,采购信息管理模块设计,系统辅助管理模块设计。第五章 系统的测试,包括系统的运行流程,系统各个窗体的详细测试。第2章 开发技术分析与研究2.1 开发模式的分析目前,用于信息管理系统的开发工具有很多,如开

8、发本系统所用到的Delphi,此外,还有诸如VB、VC、ASP.net等等,而使用Delphi开发信息管理系统的优点就是,它的界面很容易实现,语法结构也较简单,而它的缺点就是不能很好的实现B/S或者C/S的模式,而相比之下,ASP.net的优点就是比较容易实现B/S模式,这些都是由语言自身的特点来决定的。如今,在国内外比较流行的两种开发模式分别是:B/S模式和C/S模式。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL

9、 Server等数据库。浏览器通过Web Server 同数据库进行数据交互;C/S是Client/Server的缩写,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。C/S 架构的优点主要是:第一、其应用服务器运行数据的负荷比较轻。第二、它的数据的储存管理功能是比较透明的。但是C/S架构软件的缺点是:其维护的成本比较大且投资也比较大,其次,对于传统的C/S结构的软件,需要对不同的操作系统开发不同版本的软件,而由于产品的更新换代速度非常快,带来很大的更新工作要做。所以,它的代

10、价是很高的,相对很低的效率使得其已经不适应工作的需要了。特别是在像JAVA这样的跨平台语言出现了以后,B/S架构模式更是强烈的冲击了C/S架构,并且对它形成了巨大的挑战。B/S架构软件的优点主要是:第一、其维护和升级方式比较简单,第二、它的成本降低了,使得选择变得更多一些5。本系统是一个C/S模式的系统,本系统使用了Delphi7.0 的许多面向对象的组件,比如:ADODataSet组件、ADOtable组件等,系统中还有SQL命令语句的应用、跨表的查询、分组的统计以及分组筛选等关键技术。还有诸如建立主副明细表等等相关技术。要让系统的管理具有良好的可操作性,系统的功能具有可扩充性,并且尽量使系

11、统的功能完善,这就是设计软件系统的核心思想6。用户在进入系统之前都要进行权限的检测,而在执行各大模块的相关功能时侯,也需要对操作的权限进行判定和限制,系统的几个模块之间的关系也是密切的联系的7。2.2 开发工具Delphi 7.0概述世界著名的Borland公司开发的Delphi 7.0是一种可视化的软件开发工具为我们提供了一种方便、快捷的Windows应用程序开发工具,它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想。Delphi被称为是第四代的编程语言,因为它具有简单、高效、功能强大等特点。我们把Delphi和VC相比,Delphi更简单、更易于掌握,而在功能

12、上面却是丝毫不逊色的;和VB相比,Delphi功能更强大、更实用。可以说Delphi同时兼备了VC功能强大的特点和VB简单易学的特点。Delphi一直都是程序员最喜欢的编程工具。对于Delphi它具有以下的特点,它是基于窗体的和采用了面向对象的方法,其拥有高速的编译器,并且还有强大的数据库支持,它与Windows平台编程紧密的结合,还有成熟的组件技术。然而最重要的还得是Object Pascal语言,它才是一切的根本。Object Pascal语言是在Pascal语言的基础之上发展起来的,它简单易学8。在Delphi语言中,提供了多种开发工具,其中包括集成环境、图像编辑,还有各种开发数据库的应

13、用程序,比如:DeskTopDatabase Expert等。并且除此之外,Delphi还允许用户挂接其它的应用程序开发工具,比如:挂接Borland公司的资源编辑器Resourse Workshop等。Delphi有很多的优势,特别是它在数据库方面的特长显得特别突出,因为它适应于多种数据库的结构,它不仅适合客户机/服务器模式,它还支持多层数据结构模式,它拥有高效率的数据库管理系统以及新一代的先进的数据库引擎,它还具有最新的数据分析手段,并且其还提供了大量的企业组件供开发者使用。2.3 Delphi中常用组件通用属性及事件Delphi中每个组件都有自己的属性、事件和方法,而可视组件存在着一些共

14、性的属性和事件。可视组件的通用属性如表2-1所示。表2-1 通用属性属性设置说明Anchors适用于大部分组件。当组件的父窗口的大小发生变化时,该属性值描述了组件的各边与父窗口边框的位置。参数有akLeft,akTop,akBottom和akRight,把这些参数值设为True后,分别说明组件的左边、上边、底边和右边相对父窗口的左、上、底、右边框的距离不变BorderWidth适用于窗口组件,定义窗口组件的宽度BoundsRect适用于所有组件,定义组件的边框矩形,只用于运行时Caption适用于大部分组件,说明组件的标题Constraints适用于所有组件,确定组件改变大小时的最大尺寸和最小

15、尺寸Color适用于大部分组件,确定组建的表面或者背景颜色Enable适用于所有组件,确定组件的功能是否被禁用Font适用于所有组件,确定组件内字体Name适用于所有组件,组建的名称,要区别于CaptionPopupMenu适用于所有组件,定义当用户在组件上单击鼠标右键时的弹出菜单Visible适用于所有组件,确定组件是否可见可视组件的通用事件如表2-2所示。表2-2 通用事件属性设置说明OnChange适用于多数组件,在对象或其内数据发生变化时,如编辑框中的文本发生改变时OnClick适用于多数组件,此事件发生在用户鼠标左键单击组件时OnDblClick适用于多数组件,此事件发生在用户鼠标双

16、击组件时OnEnter适用于所有组件,此事件发生在当此组件为激活状态时OnExit适用于所有组件,此事件发生在当此组件失去焦点时2.4 数据库控件的用法Delphi使用可视化的控件创建数据库应用程序,数据库控件都具备一定的属性,程序设计人员在设计过程中设置控件的多种属性,也可以在程序运行过程中通过程序来设置部件的各种属性。2.4.1 ADO控件的使用ADO控件又称ADO组件,最常用的ADO对象是连接(Connection)、命令(Command)和数据集(RecordSet)对象,这些对象被相应的封装成为对应的控件放置在ADO控件面板上,ADO控件板如图2-1所示。图2-1 ADO数据集访问控

17、件板在Delphi的ADO面板中一共有7个主要组件,它们分别是:(1)ADOConnection组件:ADOConnection组件封装了ADO连接对象,利用ADOConnection组件来连接ADO数据存储。通过设置组件的属性,使得单个ADOConnection组件所提供的连接可以被多个ADO命令或数据集所共享。ADOConnection组件允许客户端控制数据存储的属性和条件。使用ADOConnection组件可以控制记录枷锁、记录指针类型、隔离级别和连接超时等。该组件在它所连接的数据库中提供事务管理和恢复原数据等操作。(2)ADOdataSet组件:ADOdataSet组件时最常用的ADO

18、数据集组件。ADOdataSet组件具有从一个或多个ADO数据源中找到结果集的功能。结果集可以直接从数据表中读取,也可以通过SQL语句从一个或多个数据表得到。在使用之前,必须连接ADOdataSet组件至某个数据源。可以通过该组件的ConnectionString属性写入相关连接字符,也可以在连接属性中指定通过ADOConnection组件已经建立的连接。使用ADOdataSet组件的CommandText属性找到所需的数据集,可以指定一个数据表名,也可以写入SQL语句(只限于Select查询语句)。ADOdataSet组件没有处理SQL语句的数据操纵语言的功能,因为它不能返回结果集。(3)A

19、DOtable组件:ADOtable组件主要是用于操作和提取单个基表的数据,ADOtable组件也可以直接连接到数据库,还可以通过ADOConnection连接到数据库。(4)ADOquery组件:ADOquery组件用来在底层的ADO数据源中应用SQL语言。使用该控件可以访问多个表。使用Select语句从ADO数据源的数据表中读取数据。在ADO数据源的数据表或其他源数据对象中执行Insert、Delete、Update、Alter Table以及Create Table等操作。(5)ADOStoredProc组件:当客户机端应用程序要使用数据库中的存储过程时,要使用ADOStoredProc

20、组件。一个存储过程是一组SQL命令语句的集合,作为源数据的一部分存储在数据库中,根据服务器上与数据库相关的任务指示执行,并把执行结果返回给客户端。(6)ADOCommand组件:ADOCommand组件描述了ADO命令对象。利用ADOCommand空间可以通过ADO提供者来实现数据存储。ADOCommand组件执行的是CommandText属性中的指定的命令,命令可能在执行过程中需要某些参数,如果命令包括有关参数,则必须在Parameters属性中指定,命令通过调用Execute方法执行有关命令。ADOCommand组件使用组件对象去连接一个数据源(通过它的连接属性)或者直接连接到数据源,前提

21、是连接信息在ConnectionString属性中被指定。ADOCommand组件常常被用于执行SQL命令或者执行一个不返回结果集的存储过程。通过执行ADOCommand组件的Execute方法可能返回一个结果集。为了使用这些结果集,需要一个独立的ADO数据集组件。(7)RDSConnection组件:RDSConnection组件是连接一个进程或一台计算机传递到另一个进程或计算机的数据集合。2.4.2 TdataSource控件与TDBGrid控件TdataSource控件与TDBGrid控件在数据库开发中经常是成对出现的。作为数据感应控件,TDBGrid控件的主要作用是通过TdataSou

22、rce控件连接数据集(如TADOQuery),以各种方式显示数据库中的数据,并提供客户端浏览的界面。TdataSource控件对象TdataSource控件时不可视的,是联系数据感应控件(TDBGrid)和数据集(TADOQuery)的桥梁,它位于数据访问控件板上,如图2-2所示。图2-2 数据访问控件板及TdataSource控件通过查看控件TdataSource的State属性值可以确定与一个数据源控件相连的数据集控件的当前状态。数据集控件的当前状态表明了对数据集的相应操作。利用数据源控件可以更好的协调各个数据感应控件,保持和数据集的一致,一般来说对TdataSource编写代码很少。使用

23、时设置好DataSet属性之后,即可以将TdataSource控件指定为数据感应控件的DataSource属性值。TDBGrid控件是显示和编辑数据库中表的重要控件,它是在数据库应用程序中使用最多最为灵活的一个控件,利用该控件可以设计一个灵活的用户界面。2.4.3 TClientDataSet控件与TDataSetProvider控件对数据库的操作封装成类后,使用TClientDataSet控件和TDataSetProvider控件来显示数据的查询结果就很方便。通过TClientDataSet控件可以建立客户端的应用程序,且数据执行效率较高,但TClientDataSet控件不能和数据库自动连

24、接,程序中必须指定TClientDataSet控件如何获取数据。一般情况下,TClientDataSet控件获取数据的方式主要有三种:从本地文件中获取、从本地的另外一个数据集对象中获取以及通过IAppServer接口来获取。在实际应用TClientDataSet控件时一般使用控件的属性较多,而该控件的事件很少应用。TDataSetProvider控件基于数据集为应用程序中的其他控件提供数据,并将对数据的更新传回数据集或者数据集相关的数据库服务器。TDataSetProvider控件通常用于为TClientDataSet控件提供数据,可以是应用程序的一部分,也可以被放置在多层数据库应用服务器上,

25、以充做远程数据库服务器和客户端数据集的中介。2.5 本章小结本章是对系统开发技术分析与研究,在开发模式上采用C/S架构,并对开发工具Delphi进行了深入的研究。本系统使用SQL Server2000作为后台的数据库来管理系统,在前端使用ADO组件来访问实际的数据库内容。所以对基本的 SQL 语句需要熟悉,比如添加、查询、修改和删除记录语句等等。而对Delphi中的数据库组件的使用,也需要了解掌握。这些都是本系统中需要使用的相关知识,熟练运用这些知识,有利于系统的设计与开发。第3章 系统概要设计及分析3.1 系统功能模块设计基础信息管理系统的主要组成模块包括:登录模块、基础信息设置模块、采购信

26、息设置模块和系统辅助管理模块四大模块。商品基本信息厂商基本信息职员基本信息进货价格控制厂单录入系统数据备份用户账号管理超市管理信息系统基础数据设置采购信息管理系统辅助管理最终实现功能模块如图3-1所示。图3-1 系统功能模块图1.基础信息管理基础信息管理主要是对系统中要用到一些基础信息进行维护和管理,包括商品基本信息、厂商基本信息和职员基本信息。基本信息管理要实现以下的功能:添加、删除、查询和修改商品基础信息,包括商品编号、商品名称、供应商编号和商品重量等。添加、删除、查询和修改厂商基础信息,包括商品的供应商信息,包括厂商编号、厂商名称,厂商地址、联系方式等。添加、删除、查询和修改职员基础信息

27、,包括职员的编号、名称、所在部门、联系方式等。2.采购信息管理采购信息管理主要是对采购业务进行管理,包括采购业务中所涉及到的价格控制、询价以及厂单的录入。采购信息管理要实现的功能有:进货价格控制,通过录入进货价格和价格参数指定商品的销售价格;厂单信息录入,对采购的商品信息进行录入操作。3.系统辅助管理系统辅助管理主要有系统数据备份和用户账号管理两大主要功能。3.2 系统流程分析第一、用户启动系统,系统首先将进行初始化。第二、系统将激活登陆口令界面,供用户进行登录验证。第三、验证成功后,用户便进入系统,根据管理的需要,超市管理信息系统有系统管理员和普通用户两种登录账号,不同的登录账号具有不同的操

28、作权限,系统将通过事件驱动机制来激活相应的功能模块,并且执行其相应的功能。验证失败重新登录普通用户1.查询基础数据,包括商品信息、厂商信息和职员信息2.查询商品价格信息3.查询单据信息4.进行销售排行统计5.修改自己的账号1.可以进行基础数据、采购信息、销售信息的添加、修改、删除和查询操作2.管理所有用户账号3.系统数据备份启动程序用户登录用户权限系统管理员系统流程图如图3-2所示图3-2 系统流程图3.3 本章小结本章是对超市信息管理系统的概要设计,画出了系统功能模块图,对系统的处理流程做了一些分析。对于系统的功能模块设计,依照需求分析,将系统分为四大主要模块:分别是登录模块、基础信息设置模

29、块、采购信息设置模块和系统辅助管理模块四大模块。并且对每个模块的内部做了具体的设计,每个模块包含那些子模块,都进行了分析。第4章 系统的详细设计与实现4.1 数据库设计数据库设计包括超市管理信息系统数据库的创建、数据库逻辑结构的设计。4.1.1 创建数据库数据库可以在企业管理器中直接创建,也可以在查询分析器中通过输入代码来创建,在查询分析器中输入以下代码:CREATE DATABASE TradeMGON(NAME=TradeMG, /设置数据库名称/以下设置数据数据文件的路径、大小FILENAME=C:ProgramFilesMicrosoft SQL ServerMSSQLdataTrad

30、eMG.MDF,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10MB)/以下设置数据库日志文件的路径、大小LOG ON(NAME=TradeMG_LOG,FILENAME= C:ProgramFilesMicrosoft SQL ServerMSSQLdataTradeMG_LOG.LDF,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5MB)4.1.2 数据库逻辑结构设计根据系统设计的要求对数据库的逻辑结构进行设计。设计时既要考虑到前面的系统设计阶段提出的要求,又要考虑到数据库设计的一些规则,如关键字的设置和外键的设置等。本系统包含9张表:商品信

31、息表(COMINFO)、商品销售价格控制表(SALEPRICE)、商品进货价格控制表(PURPRICE)、厂商信息表(CORPINFO)、客单信息明细表(CUSTLISTINFO)、厂单信息主表(CORPLIST)、厂单信息明细表(CORPLISTINFO)、职员信息表(OPERINFO)和用户账号表(USERTABLE)。(1)商品信息表COMINFO,记录商品的主要信息,结构如表4-1所示。表4-1 表COMINFO的结构编号字段名称数据类型说明1COMIDVarchar(10)商品编号,关键字2COMNAMEVarchar(20)商品名称3UNITVarchar(6)商品单位4WEIGH

32、TFloat商品重量5CORPIDVarchar(3)厂商编号6REMARKVarchar(255)备注(2)商品销售价格控制表SALEPRICE,对商品的销售价格进行设置。结构如表4-2所示。表4-2 表SALEPRICE的结构编号字段名称数据类型说明1COMIDVarchar(10)商品编号,关键字2OUTPRICEMAXFloat最大销售价格3OUTPRICEMINFloat最小销售价格(3)商品进货价格控制表PURPRICE,是对商品的进货价格及其允许的利润率进行设置,结构如表4-3所示。表4-3 表PURPRICE的结构编号字段名称数据类型说明1COMIDVarchar(10)商品编

33、号,关键字2INPRICEFloat进货价格3RATEMAXFloat最大利润率4RATEMINFloat最小利润率(4)厂商信息表CORPINFO,记录商品所对应厂商的基本信息,结构如表4-4所示。表4-4 表CORPINFO的结构编号字段名称数据类型说明1CORPIDVarchar(3)厂商编号,关键字2CORPNAMEVarchar(30)厂商名称3LINKMANVarchar(10)联系人4LINKPHONEVarchar(12)联系电话5ADDRESSVarchar(50)地址6FAXVarchar(12)传真(5)销售信息表CUSTLISTINFO,主要记录商品的销售情况,结构如表

34、4-5所示。表4-5 表CUSTLISTINFO的结构编号字段名称数据类型说明1RECORDNOInt记录号,关键字2COMIDVarchar(10)商品编号3COMNUMInt商品数量4MONEYFloat金额5OPERATORVarchar(10)经手人6DATEDatetime销售日期(6)厂单信息主表CORPLIST,厂单是指进货时与商品附在一起的单据,其主要内容有两项:厂单主信息和厂单明细信息。厂单主信息是指厂单信息主表所记录的信息,厂单信息主表的结构如表4-6所示。表4-6 表CORPLIST的结构编号字段名称数据类型说明1CORPLISTIDVarchar(12)厂单编号,关键字

35、2CORPLISTDATEDatetime进货日期3OPERATORVarchar(10)经手人4CORPIDVarchar(3)厂商编号5GIVEDATEDatetime支付日期(7)厂单信息明细表CORPLISTINFO,主要纪录厂单明细信息,结构如表4-7所示。表4-7 表CORPLISTINFO的结构编号字段名称数据类型说明1RECORDNOInt记录号,关键字2CORPLISTIDVarchar(12)厂单编号3COMIDVarchar(10)商品编号4COMNUMInt商品数量5MONEYFloat金额6COMTIMESVarchar(5)商品进货批次号(8)职员信息表OPERIN

36、FO,主要记录公司职员的基本信息,结构如表4-8所示。表4-8 表OPERINFO的结构编号字段名称数据类型说明1OPERIDVarchar(5)职员编号,关键字2OPERNAMEVarchar(10)职员姓名3DEPARTMENTVarchar(20)所在部门4LINKPHONEVarchar(12)联系电话(9)用户账号表USERTABLE,主要是对不同级别账号进行设置,结构如表4-9所示。表4-9 表USERTABLE的结构编号字段名称数据类型说明1USERNAMEVarchar(20)用户名2USERPWDVarchar(20)用户密码3USERLEVELVarchar(15)用户级别

37、4.2 系统工程框架的创建系统框架包括创建工程项目、启动画面、登录窗体、数据结构的实现、系统主界面和工程项目的属性设置等。4.2.1 创建工程项目及数据库连接类工程项目创建的工程名为TradeMG.dpr。数据库连接类可以通过拖放控件直接实现,选择FileNewData Module9,将该Data Module取名为Trade_DateMod,其界面布局如图4-1所示。图4-1 Trade_DataMod的界面布局图Trade_DataMod中使用的控件及其属性设置如表4-10所示。表4-10 数据库连接类使用的控件及其属性设置对象属性属性值Adocon(ADOConnection控件)Co

38、nnectionString(连接到服务器上的TradeMG数据库上)Report_ado1(ADOQuery控件)ConnectionAdoconDsp1(DataSetProvider控件)DataSetAdoq1Adoq1(ADOQuery控件)ConnectionAdoconAdoq2(ADOQuery控件)Connectionadocon4.2.2 数据表操作类的设计本系统中,对数据库的连接和操作都被封装成类,类名都以大写的“T”开头,后面加上对应数据表名,类的单元文件名为数据表名后加上后缀名“_unit”,例如数据表名为cominfo,对应的类名为Tcominfo,对应的单元文件为

39、cominfo_unit。每张数据表的操作都可以封装到对应类的方法和过程中,在使用类时要先实例化,使用完后要将实例释放。4.2.3 创建启动画面新建窗体Firstfrm作为启动画面,启动画面中控件的设置如表4-11所示。表4-11 窗体Firstfrm的控件使用及其设置对象属性属性取值FormNameFirstfrmBorderStylebsNoneLabel1Caption超市信息管理系统Label2Caption正在启动系统,请稍候Label3CaptionImage1Picture(选取准备好的图片)AlignalClient在窗体的OnCreate事件中输入以下代码,以在启动画面上显示

40、启动时的日期:Label3.Caption:=今天是+datetostr(now);打开“Project”菜单,选择“View Source”项,在“Application.Initialize;”后添加以下内容:Firstfrm:=tFirstfrm.Create(application); /动态创建启动画面Firstfrm.Show; /显示启动画面Firstfrm.Update ; /更新启动画面显示sleep(2000); /调用windows函数所以要在uses里加windows接着在“Application.Run;”语句之前添加以下内容。Firstfrm.Hide; /隐藏启动

41、画面Firstfrm.Free; /释放启动画面4.2.4 创建登录窗体新建窗体Loginfrm作为登录窗体的界面,用户通过在登录窗体中输入正确的用户名和密码后即可进入系统。登录窗体的布局效果如图4-2所示。图4-2 登录窗体布局效果图登录窗体调用了Tusertable类,因此要在窗体代码的uses语句中添加Tusertable类的单元文件usertable_unit。同时要在窗体代码private下声明该窗体所调用类的实例名:PrivateUsertable:Tusertable;登录窗体中主要实现对登录用户账号的验证,该操作可以通过“确定”按钮的OnClick事件来实现,代码如下:proc

42、edure TLoginfrm.Button1Click(Sender: TObject);var b1:bool;beginuser1:=Tusertable.create ; try /判断用户名是否存在b1:=user1.UserRec(edit1.Text);exceptLoginfrm.Hide;databaselink.Show; exit;end;if b1=false thenbeginapplication.MessageBox(对不起,没有这个用户名!,提示:,mb_ok);exit;endelsebeginif user1.GetUserPwd(edit1.Text)=e

43、dit2.Text thenbegin userlevel:= user1.GetUserLevel(edit1.Text); if user1.GetUserLevel(edit1.Text)=系统管理员 then begin Loginfrm.Hide ; mainfrm.Show; end else begin Loginfrm.Hide ;mainfrm.N1.Enabled :=false;mainfrm.N12.Enabled :=false;mainfrm.N4.Enabled :=false;mainfrm.N21.Enabled :=false;mainfrm.Show; e

44、nd;endelsebeginapplication.MessageBox(对不起,你的密码不对!,提示:,mb_ok);edit2.SetFocus ;end;end;end;登录系统时既要检查用户名是否存在,还要验证密码是否正确,并获取用户的权限供后面窗体调用。4.2.5 连接数据库并创建用户表新建窗体databaselink作为连接数据库并初始化数据表的用户操作界面。初次运行系统时可以通过该用户界面连接到相应的数据库,并对用户数据表进行创建和初始化。窗体的布局效果如图4-3所示。图4-3 数据库连接窗体数据库连接窗体主要是连接数据库并在指定数据库里创建表。这里设计了用户数据表生成文件Tr

45、adeTable.txt(创建数据表的脚本文件),连接数据库时通过执行该文件的代码即可创建并初始化用户数据表。创建用户数据表的脚本语句存放在文本文件中,所以执行这些脚本语句时需要读取文本文件的内容,函数代码如下:function GetTextFromFile(AFile : String; var ReturnString : string) : boolean;var FileStream : TFileStream;begin if not fileexists(AFile) then exit; FileStream := TFileStream.Create(AFile,fmOpenRead); try if FileStream.Size 0 then begin SetLength(ReturnString,FileStream.Size); FileStream.Read(ReturnString1,FileStream.Size); result := true; end; finally FileStream.Free;end;end;读出脚本语句后,程序需要连接数据库,并在指定的数据库中执行脚本以创建表,从而完成数据库的初始化。该过程在连接数据库窗体的“连接”按钮中实现,实现代码如下:procedure Tdatabaselink.But

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号