




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1 引 言11.1 系统开发的背景11.2 开发商品进销存管理系统的意义12 系统需求分析22.1 开发工具的选择22.2 业务总体流程分析43 系统总体分析与数据库设计63.1 系统方案63.2 系统功能设计63.3 数据库设计83.4 数据库结构和程序在计算机上的实现143.5 VB开发环境与SQL数据库的链接184 系统模块的具体设计与实现204.1 系统模块需求204.2 系统主窗体和公用模块的创建214.3 系统用户管理模块的创建224.4 基本信息设置模块的创建264.5 进货信息管理模块的创建284.6 销售信息管理模块的创建304.7 库存信息管理模块的创建314.8 财务信息管理模块的创建334.9 帮助窗体的实现335 毕业设计分析与总结34谢 辞35参 考 文 献36附 录A 外文翻译原文部分37附 录B 外文翻译译文部分43附 录C主要源代码清单48 九江学院毕业论文1 引 言1.1 系统开发的背景随着全球信息化时代的到来,信息技术对社会发展和经济增长的作用愈来愈明显。充分利用信息技术和信息资源,为社会创造更多的财富,将成为社会进步的重要标志。商业作为连接生产与消费的纽带和桥梁,应用信息技术不仅可以提高商业企业自身的市场竞争能力,同时还可以指导生产、引导消费。商业企业有效地采用信息技术手段,加速了商业领域的发展与进步,信息化建设已成为当前商业企业提高企业管理水平、谋求生存、参与市场竞争的必由之路。1.2 开发商品进销存管理系统的意义进、销、存是企业运作过程中最主要、最核心的工作环节。所谓进、销、存即是指商品的进货、销售和库存, 进,主要指采购,即制定采购计划和审批、询价、签订采购合同、合同执行等; 销,主要指销售,即客户(分公司或代理商)信息管理、产品报价、订单(或合同)审核及执行跟踪、发货通知、到款信息等; 存主要指入出库管理,即原材料、半成品、成品入出库通知管理、物品状态(入出库时间、存放地点、物品外观、性能状态等)管理等。进、销、存的概念主要指这些子系统的综合平衡管理。创建一个稳定、高效的进销存系统对于企业的提高市场竞争能力有着举足轻重的作用。(1)整合企业资源,实现信息共享:商业企业在经营活动中每日都要将发生的基础信息(如商品信息、厂商信息、销售信息、库存信息等),由进销存系统进行收集、整理及汇总,并以各种报表形式体现出来;商业企业中各部门、各级别的管理人员可根据自身工作的需要及企业分配的权限,随时查询本部门商品流转中的各种信息和变化趋势,为管理者的决策活动提供数据依据。(2)丰富系统功能,提高工作效率:进销存系统不但能够完成一般商品的销售功能,还能够实现商品的量贩销售、按金额或者比例的打折销售、商品的组合销售,以及顾客利用信用卡或储值卡、会员卡进行的刷卡销售等功能。在销售工作结束后,计算机系统可对销售信息进行记录和汇总,帮助收款进行核对和查询,避免了手工收银工作中的可能出现的漏洞。(3)优化商品机构,提升整体效益:传统商业对商品和布局的调整依赖于管理人员的商业经验和个人喜好,致使商业企业不能够根据消费者的价值取向来提供商品,无形中损失了一部分潜在的消费群体。进销存系统通过对顾客的消费时间、消费金额、消费商品明细等信息的记录和分析,为商场管理人员提供的顾客所购买的商品的类别、购买商品的价格分析的趋势,了解顾客的消费变化和价值取向,帮助商场管理人员及时调整商品结构和商品布局,以便最大限度地满足商圈内消费者的需求,从而使企业获得更大的经济利益。(4)规范业务流程,减少人工费用:进销存系统用电子单据代替以往人工来传递各种单据的工作,商场的管理人员通过本地的计算机就能够对各部门提交的单据进行查询、审核、记帐等操作。商场工作人员通过进销存系统就能够完成商品的流转的全过程;进销存系统的使用,使企业组织机构得以简化,传统商业企业中的物价、核算等部门及人员的工作已经被计算机所代替,从而节约了这些部门的各种设备和人工费用的支出。 商品进销存管理系统是商场商品的进购、销售、储存业务的处理中心,提供现代化管理手段实现商厦物流管理的信息化和系统化1。在这项管理工作中引入计算机作为信息处理工具,实现商品流通过程各个环节中的实时数据采集、实时数据监测与调整,并根据需要即时进行商品信息分析,从而提高企业在市场经济环境中的适应能力与竞争能力。2 系统需求分析2.1 开发工具的选择2.1.1 Visual Basic 6.0特点介绍现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual Basic、Microsoft公司的Visual C、Borland公司的Delphi 、Powersoft公司的PowerBulider、Java等等作为数据库系统的开发,Visual Basic是一个非常理想选择。目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言Visual Basic语言,该开发工具具有很多长处:Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic具有以下特点:(1)可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。(2)面向对象的程序设计:4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。(3)结构化程序设计语言:Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。(4)事件驱动编程机制:Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。(5)访问数据库:Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft SQL Server格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。(6)动态数据交换(DDE):利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。(7)对象的链接与嵌入(OLE):对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。(8)动态链接库(DLL):Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C+或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。2.1.2 Microsoft SQL Server 2000简介数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件,因此,作为信息系统的核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库存储和处理信息资源。在本次设计中数据库设计选用Microsoft SQL Server 2000。SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。它是从早期的Sequel 语言演化而来, 现代的SQL 已经发展成为一种非常强大的行业标准数据库编程语言。该语言是集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:(1)综合统一;(2)高度非过程化;(3)面向集合的操作方式;(4)以同一种语法结构提供两种使用方式;(5)语言简捷,易学易用。在VB6.0 中, 我们可以在自己的程序中创建和使用SQL语句, 并且使用该Database自身所保存的查询, 除此之外, 还可以创建查询, 并且将这些查询保存在该数据库中, 给自己或其他的应用程序使用。SQL 查询分为两组,分别是DDL(Data Definition Language) 和DML(Data Manipulation Language) 语言来创建的。DDL查询定义或改变该数据库的结构, 而DML直接对包含在数据库中的数据进行查询。一个SQL查询的基本结构包括三部分:2参数说明: 在一个Parameter Query 中, 这个组成部分的作用是提供该参数的名称和类型;控制语句: 控制语句的作用是定义该查询对这个数据库执行的动作;选项说明: 有Owner Option可以给用户赋予在一个保密环境中的所有者权限。在Client/Server 结构的开发环境中, Server 端数据库用SQL Server, Client端用VB6.0 (已开发应用)。SQL Server 提供了RDBMS 中随时随地分发最新信息所需的条件, 包括内置的数据复制, 集中化的管理, 开放的体系结构和从邮件到Internet 的一切事物的集成; 分布式数据仓库允许一个单一的查询返回数据细节并从多角度来积累数据, 简化了因分析目的而进行的信息获取。VB6.0 通过调用ODBC库函数实现对SQL Server 的访问。2.2 业务总体流程分析一个进销存系统的范围, 应该包括商品购销的直接业务, 如采购、入库、出库、销售和库存管理,缺少其中的任何一环节,都将造成系统内大量数据的重复录入, 同时大量管理数据因无法向其它环节传递而无法使用,大大降低系统的管理效率, 甚至导致系统无法正常运转。如传统的库存商品核算软件以入库单、出库单为系统的入、出口,只管理库存状态, 一方面入、出库单只能靠人工输入, 另一方面则根本无法反映进销存系统的核心内容采购、销售业务过程和状况。因此, 进销存系统必须突破单纯的库存管理而向采购、销售的业务环节延伸。企业的购销过程一方面以购销合同为依据或参考, 另一方面又和款项收付、往来管理等资金管理业务不可分割。销存系统应该是“业务、财务一体化”系统, 即必须同时反映和处理业务、财务等多种状态3。总体业务流程如下图1所示:从分析商业企业的商品进销存业务管理过程可以看到,始终伴随商品物流存在三个主要的信息结点:商品进货信息结点、商品存货信息结点和商品销售信息结点。有效地在这三个信息结点处组织数据,并加以必要的控制,即能满足小型商品进销存管理信息系统对于信息处理的各项需求。可见,进销存系统应该是“多环节一体化”的整体系统。进销存系统的范围如前所述包括购销业务及相关的各环节, 这些环节间数据互为因果, 任何环节一方面接受其它环节的数据, 一方面也为其它环节提供数据, 因此, 进销存系统是一个多入口、多出口的网状关联的整体系统。3 系统总体分析与数据库设计3.1 系统方案 图2 系统总体方案 Fig.2 system collectivity project3.2 系统功能设计3.2.1 系统功能分析 系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析在系统开发的总体任务的基础上完成。通过调查本次设计的进销存管理系统需要完成功能主要有:(1) 基本信息的输入和修改,包括商品类别设置、商品设置、商品颜色设置、供应商信息设置、客户信息设置、业务员类别设置、业务员设置、仓库设置等。(2) 进货信息的管理,包括订货单的录入和修改、入库单的录入和修改、以及相关信息的查询,如按照供应商、仓库和业务员等方式的查询。(3) 销售信息的管理,包括销售订单的录入和修改、销售单的录入和修改、以及相关信息的查询,如按照供应商、仓库和业务员等方式的查询。(4) 库存信息的管理,包括转仓单的录入和修改、商品明细和相关信息的查询,如按照转入、转出、转入转出等方式的查询。(5) 财务信息管理,包括应收信息的录入和修改、应付信息的录入和修改等。3.2.2 系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序的要求,得到如下图3所示的系统功能模块图。 图3 系统功能模块图 Fig.3 the module chart of system function3.3 数据库设计数据库在一个信息管理系统中占有非常重要的的地位,数据库结构设计的好坏将直接对应系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。数据库使用的数据源可能像文本文件一样简单,也可能非常复杂,或者尚未定义类型的某种数据。因此需要一个简单、一致的数据访问接口,使应用程序能够访问和修改众多类型的数据源。数据访问是一个对象接口,它代表了访问数据的各个方面。在VB中,用户可使用三种数据访问接口,即ActiveX数据对象(ADO)、数据访问对象(DAO)、远程数据对象(RDO),这三种接口代表了数据访问技术的三个发展时代,其中最近的是ADO,它最简单也最灵活,因此最好选择ADO作为数据访问接口。ActiveX数据库对象(ActiveX Data Object)是 Visual Basic 6.0 提供的一种新的数据访问 (Data Access)方法。与以前Visual Basic 提供的数据访问方法(DAO/RDO)相比,ActiveX数据对象的速度更快,使用更方便,内存占用更少。另外,DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。系统就是用ADO来完成开发环境(Visual Basic6.0)与SQL数据库的连接的。VB与ADO(Active Data Objects) 技术的结合,提供了一种新的访问站点数据库的解决方案。ADO是位于ODBC和OLE数据库之上的高性能的数据访问接口,提供了开放的数据操作对象模型。VB与ADO技术相结合,建立和提供包含数据库信息的主页内容,通过执行SQL命令,让用户在浏览器中进行数据的输入、修改、删除和更新等操作。并可利用VB Script 或Java Script等脚本语言来控制数据库的访问,实现查询结果的输出显示等4。 设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能的增加的需求。数据库设计一般包含以下几个步骤:(1) 数据库需求分析(2) 数据库逻辑结构设计3.3.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程组成义愤详细的数据字典,为后文的具体设计打下基础。仔细分析调查有关系统需求的基础上,得到下图4所示的数据关系图。图4 数据关系图 Fig. 4 data relation chart 针对企业业务的需求,通过对商品管理工作过程的内容和数据关系分析,设计如下面所示的数据项和数据结构:1 商品信息,包括的数据项有:商品编号、商品名称、计量单位、颜色、类别、入库价格、分销价格、零售价格、生产厂家、更新日期、备注日期等。2 商品类别信息,包括的数据项有:类别编号、类别名称等。3 商品颜色信息,包括的数据项有:颜色编号、颜色名称等。4 供应商信息,包括的数据项有:供应商编号、供应商名称、地址、邮政编码、电话号码、公司主页、电子邮件地址、税号、银行帐户、开户银行、联系人、备注信息等。5 客户信息,包括的数据项有:客户编号、客户名称、地址、邮政编码、电话号码、公司主页、电子邮件地址、税号、银行帐户、开户银行、联系人、备注信息等。6 业务员类别信息,包括的数据项有: 类别编号、类别名称等。7 业务员信息,包括的数据项有:业务员编号、业务员姓名、类别、电话号码、家庭住址、身份证号码、备注信息等。8 仓库信息,包括的数据项有:仓库编号、仓库名称等。9 进货订单信息,包括的数据项有:订货日期、编号、业务员、供应商编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、备注信息等。10、入库单信息:包括的数据项有:入库日期、编号、业务员、供应商编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记帐、预付比例、备注信息等。11、销售订单信息,包括的数据项有:订货日期、编号、业务员、客户编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、备注信息等。12、销售出货单信息,包括的数据项有:销售日期、编号、业务员、客户编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记帐、预付比例、备注信息等。13、库存信息,包括的数据项有:更新日期、编号、仓库编号、商品编号、商品颜色、数量、单价、总金额、备注信息等。14、转仓信息,包括的数据项有:转仓日期、编号、业务员、转出仓库编号、转入仓库编号、商品编号、商品颜色、数量、总金额、备注信息等。 通过以上的数据结构、数据项和数据流程进行以下的数据库逻辑结构设计。3.3.2 数据库逻辑结构设计根据数据库的需求分析和概念结构设计,通过Microsoft SQL Server2000设计了名称为OUR_JXC的数据库。数据库由多个表格组成,如用户信息表、商品信息表、商品类别表、商品颜色表、供应商信息表、客户信息表、业务员类别表、业务员信息表、仓库表、进货订单表、入库单表、销售订单表、销售表、库存信息表以及转仓信息表等。在该设计中,数据库由十五个表格组成,其中表格的设计结果如下所示,每个表格表示在数据库中的一个表。表1 User_Info用户信息表列 名数据类型可否为空说 明User_IDcharnot null用户名称User_PWDcharnull用户密码User_DEScharnull用户地址表2 dm_wz商品信息表列名数据类型可否为空说明dmcharnot null商品编号mccharnull商品名称jldwcharnull计量单位color_codecharnull颜色lbcharnull商品类别rkjcharnull入库价格fxjcharnull分销价格lsjcharnull零售价格cjcharnull生产厂家yxrqcharnull更新日期bzcharnull备注信息表3 dm_wzlb商品类别表列 名数据类型可否为空说明lbcodecharnot null商品类别编号lbcharnull商品类别名称bzcharnull备注信息表4 dm_yanse商品颜色表列名数据类型可否为空说明dmcharnot null颜色编号colorcharnull颜色名称表5 dm_gf供应商信息表列名数据类型可否为空说明dmcharnot null供应商编号mccharnull供应商名称addrcharnull地址yzbmcharnull邮政编码telcharnull联系电话itladdcharnull公司主页emailcharnull联系人邮件地址sui_nocharnull税号bank_nocharnull银行帐号bankcharnull开户银行ywmancharnull联系人bzcharnull备注信息表6 dm_kh客户信息表列名数据类型可否为空说明dmcharnot null客户编号mccharnull客户名称addrcharnull地址yzbmcharnull邮政编码telcharnull联系电话itladdcharnull公司主页ywmancharnull联系人emailcharnull联系人邮件地址sui_nocharnull税号bank_nocharnull银行帐号bankcharnull开户银行card_nocharnull会员卡号mb_rebnumericnull折扣比例bzcharnull备注信息表7 dm_ywylb业务员类别表列名数据类型可否为空说明lbcodecharnot null类别编号lbcharnull类别名称bzcharNull备注信息表8 dm_ywy业务员信息表列名数据类型可否为空说明dmcharnot null业务员编号mccharnull业务员姓名lbcharnull类别telcharnull联系电话addrcharnull家庭住址sfzcharnull身份证号码lbcodecharnull类别编号bzcharnull备注信息表9 dm_ck仓库信息表列名数据类型可否为空说明dmcharnot null仓库编号mccharnull仓库名称bzcharnull备注信息表10 inh入库单信息表列名数据类型可否为空说明in_datedatetimenot null入库日期ywmancharnull业务员dh_nocharnull入库单编号gfdmcharnull供应商编号ckdmcharnull仓库编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量in_danjnumericnull单价i_zknumericnull折扣i_zkenumericnull总金额jsfkcharnull是否即时付款jzcharnull是否记帐yfnumericnull预付比例bzcharnull备注信息表11 dh进货信息表列名数据类型可否为空说明in_datedatetimenot null订货日期ywmancharnull业务员dh_nocharnull订货单编号gfdmcharnull供应商编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量in_danjnumericnull订货单价i_zknumericnull折扣i_zkenumericnull总金额bzcharnull备注信息表12 xsdh销售订单信息表列名数据类型可否为空说明out_datedatetimenot null销售订货日期ywmancharnull业务员xsdh_nocharnull销售订货单编号khdmcharnull客户编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量out_danjnumericnull销售订货单价o_zknumericnull折扣o_zkenumericnull总金额bzcharnull备注信息表13 outh销售单信息表列名数据类型可否为空说明out_datedatetimenot null销售日期ywmancharnull业务员outh_nocharnull销售单编号khdmcharnull客户编号ckdmcharnull仓库编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量out_danjnumericnull单价i_zknumericnull折扣i_zkenumericnull总金额jsfkcharnull是否即时付款jzcharnull是否记帐yfnumericnull预付比例bzcharnull备注信息表14 kucun库存信息表列名数据类型可否为空说明up_datedatetimenot null更新日期kucun_nocharnull库存编号ckdmcharnull仓库编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量total_jenumericnull总金额bzcharnull备注信息表15 zc转仓单信息表列名数据类型可否为空说明zc_nocharnull转仓单编号zc_datedatetimenull转仓日期ywmancharnull业务员o_ckdmcharnull转出仓库编号i_ckdmcharnull转入仓库编号wzdmcharnull商品编号colorcharnull商品颜色slnumericnull数量total_jenumericnull总金额bzcharnull备注信息3.4 数据库结构和程序在计算机上的实现经过前面的需求分析和概念结构设计以后,了解到数据库的逻辑结构和系统的程序结构。3.4.1 SQL Server2000的设置打开SQL Server2000的企业管理器,选择“SQL Server组”中的服务器,设置“安全性”中的身份验证为:SQL Server和Windows(S),如下图5所示:图5 SQL Server2000的属性设置Fig.5 set property of SQL Server2000程序通过sa用户访问数据库,密码设置为空。在企业管理器中选择“安全性”中的“登录”页面,选择sa用户。设置sa用户的密码为空。如下图6所示: 图6 SQL Server2000的登录属性设置Fig.6 set login property of SQL Server20003.4.2 Visual Basic 设置由于程序中利用ADO(ActiveX Data Object)完成对数据库的访问和操作,需要添加ADO库。选择Visual Basic的“工程”菜单中的“引用”,然后选择项目如下图7: 图7 SQL Server2000的登录属性设置Fig.7 set login property of SQL Server20003.4.3 创建数据库打开SQL Server2000的查询分析器执行源代码,详细的代码见附录C。如图8所示: 图8 SQL Server2000中数据库的创建Fig.8 the contribution of database in SQL Server2000对于大型数据库应用程序,效率是至关重要的。对于常用、使用效率高的操作需要在数据库后台(即SQL Server)进行优化。SQL Server提供存储过程来完成对有关操作的优化。存储过程是保存在数据库中经过编译的SQL程序,比一般SQL语句查询速度快十倍以上。存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。存储过程可包含程序流,逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。存储过程具有如下优点:(1) 存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。(2) 可以从自己的存储过程内引用其他存储过程,这可以简化一系列复杂语句。(3) 可以在单个存储过程中执行一系列SQL语句。存储过程编写成功后,编译后保存在数据库中。通过如下的SQL语句调用指定的存储过程:execute 存储过程名字下面是进货订单创建的存储过程:CREATE PROCEDURE dh_setup(in_date datetime, ywman char (20),dh_no char (8),gfdm char (8),wzdm char (30),color char (10),sl numeric (10),in_danj numeric (12, 2),i_zk numeric (5, 0),i_zke numeric (12, 2),bz char (100)ASinsert dh(in_date,ywman,dh_no,gfdm,wzdm,color,sl,in_danj,i_zk,i_zke,bz)values(in_date,ywman,dh_no,gfdm,wzdm,color,sl,in_danj,i_zk,i_zke,bz)GO3.4.4 创建ODBC程序对数据库的访问需要通过ODBC来实现,在如图9对话框中创建OUR_JXC数据源。 图9 创建数据源Fig.9 the contribution of data source3.5 VB开发环境与SQL数据库的链接Visual Basic作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。但即便如此,数据库应用程序的开发仍然算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。所以我们先介绍一下数据库的基本知识。3.5.1 使用ADO对象访问数据库使用ADO对象访问数据库就是用编程的方法对数据库进行访问,Visual Basic提供了ADO对象模型,该对象提供了访问数据库所需的全部属性和方法,ADO允许在程序中生成各种对象,并通过对象变量来访问数据库。对象变量的使用方法与通常意义下的变量十分相似,先用“Dim对象变量As对象名称”格式定义对象变量,再通过“Set对象变量=对象”格式将对象赋给对象变量,在通过对象变量访问数据库。 ADO对象编程模型定义了一个可编程的对象集合,该对象集合包含以下几个主要的数据访问对象:l 连接(Connection)对象:通过连接可从应用程序访问数据源,连接是交换数据所必需的环境。l 命令(Command)对象:通过已建立的连接发出的命令可以以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除、或更新数据,或者在表中以行的格式检索数据。对象模型用Command对象来体现命令的概念。使用Command对象可使ADO优化命令的执行。l 记录集(RecordSet)对象:通过查询得到的一组记录组成记录集。l 参数(Parameter)对象:参数对象与命令对象相关联。命令对象的Parameter集合包含所有的参数对象。ADO通过发送查询命令到数据库自动创建参数对象。l 字段(Fields)对象:包含了记录集中某一个字段的信息。字段包含在一个字段集合中。字段的信息包括数据类型、精度和数值范围等。l 属性(Property)对象:每个ADO对象都有一组惟一的属性来描述或控制对象的行为。属性有内置和动态两种类型。内置属性是ADO对象的一部分并且随时可用。动态属性则由数据提供者定义,并出现在适当的ADO对象的属性集合中。l 错误(Error)对象:包含了数据读取过程中发生的错误信息。由于一个单独的语句会产生一个或多个错误,所以错误集合有可能包含一个或多个Error对象。3.5.2 连接数据源连接数据源要用到Connection 对象。Connection对象表示到一个数据源的连接,这里数据源可以是各种类型的数据库。打开一个数据源用Connection对象的Open方法。在该设计中,连接数据源的代码编写如下所示:Public Function ConnectString() _ As String ConnectString = FileDSN=OUR_JXC.dsn;UID=sa;PWD= 返回一个数据库连接End Function3.5.3 打开记录集记录集是查询数据库后返回的查询结果集,它由行和列组成,与表类似。可以用两种方法打开记录集:一是用Recordset对象的Open方法,另一个是用Connection对象的Execute方法。3.5.4 使用结果集返回记录集就是我们需要的结果集。有了结果集,就可以对它进行更进一步的处理,如添加新记录、删除记录、修改记录、查询记录、定位记录等。用ADO对象添加一条记录与DAO对象一样,都是使用AddNew方法。AddNew方法的语法如下:recordset.AddNew FieldList,Values其中:FieldList为可选项,是一个字段名或包含多个字段的字段数组。Values为可选项,赋给字段的值,如果FieldList是一个字段,那么Values就是单个数值;如果FieldList是字段数组,那么也必须Values通常对数据库的访问并不是每次都使用数据库中的全部记录,而是需要某些符合指定条件的记录。如何定位到要想要查询的记录是数据访问中一个十分重要的课题。这一问题的解决涉及两方面的技术:一是在数据库表的任何记录集中移动记录指针的Move方法;二是直接通过逻辑判断条件定位到某条记录上的Find方法和Seek方法。3.5.5 中断连接在应用程序结束之前,应释放分配给ADO对象的资源,操作系统回收这些资源以便分配给其他应用程序。使用Close方法可以中断连接,释放资源。语法如下:Object.Close说明:Object就是ADO的对象,可以是连接对象,也可以是记录集对象。例如:rst.Closecnn.Close通过以上的学习,我们对ADO对象的使用有了较全面的了解。总上有:在整个系统运行中连接数据库,代码段设计如下: Public Function ConnectString() _ As StringConnectString = FileDSN=OUR_JXC.dsn;UID=sa;PWD=End Function4 系统模块的具体设计与实现4.1 系统模块需求4.1.1 软件设计思想商品进销存管理系统主要是对商业公司的业务进行全面的计算机管理,系统分为系统管理、进货管理、销售管理、库存管理和财务统计分析五大功能模块。系统管理功能主要对用户身份的验证,确保系统数据的安全;进货管理模块的功能主要是录入进货来源、货源资料的各种信息以及有关信息查询;销售管理模块的功能主要是录入客户资料信息、客户订单信息及对订单信息涉及的各种资料进行维护和对销售有关信息的查询;库存管理模块的功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东地理考试试卷及答案
- 变压器铁芯叠装工应急处置考核试卷及答案
- 2025年河北省职业病诊断医师资格考试职业性化学中毒复习题及答案
- 化工结晶工岗前考核试卷及答案
- 色彩鸟类考题题库及答案
- 橡胶炼胶工技能比武考核试卷及答案
- 2025年国家司法考试试题及参考答案
- 塑料压延工技能操作考核试卷及答案
- 安徽巢湖市2025年医师资格考试(实践技能)复习题库及答案
- 广东省广东职业病诊断医师(职业性耳鼻喉口腔疾病)考生练习题及答案(2025年)
- 学校安全风险辨识管控清单
- 植物生理学植物的抗逆境生理
- 渔业资源与渔场学PPT完整全套教学课件
- 质量效率辩证关系
- 二手车鉴定评估报告表
- 设计思维方法与表达(高职艺术设计)PPT完整全套教学课件
- 金融随机分析2课后答案
- 中医病证诊断疗效标准
- 海姆立克评分标准
- RB/T 040-2020病原微生物实验室生物安全风险管理指南
- GB/T 1871.1-1995磷矿石和磷精矿中五氧化二磷含量的测定磷钼酸喹啉重量法和容量法
评论
0/150
提交评论