一般进销存管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进销存治理系统
学生姓名:
学号:
院部:
专业:
班级:
名目
一.需求分析
系统功能分析
1〕全然信息的维护
商品类型的建立与维护,包括商品类型的新建、修改和删除等。

商品全然信息治理:包括商品全然信息的新建、修改和删除等。

供货商信息治理:包括供货商信息的新建、修改和删除等。

治理员信息治理:系统治理员的添加、删除和修改密码等。

2〕进货治理
商品进货信息治理:商品进货信息包括商品进货数量、单价、供货商等。

商品进货治理功能完成进货信息登记、修改和删除等。

分类查瞧:能够依据商品类型来查瞧某种商品的进货情况。

更新库存:进货信息的变动直截了当关系到库存的变化。

进货分析:列出当前进货量最多的前几项商品和进货量最少的前几项商品。

库存分析:列出当前库存量最多的前几项商品和库存量最少的前几项商品。

3〕销售治理
商品销售信息治理:商品销售信息包括商品销售数量、单价、统计日期等。

商品销售治理功能完成销售信息登记、修改和删除等。

分类查瞧:能够依据商品类型来查瞧某种商品的销售情况。

更新库存:销售信息的变动直截了当关系到库存的变化。

销售分析:列出当前销售量最多的前几项商品和销售量最少的前几项商品。

4〕报损治理
商品报损信息治理:商品报损信息包括商品报损数量、报损缘故等。

商品报损治理功能完成报损信息登记、修改和删除等。

分类查瞧:能够依据商品类型来查瞧某种商品的报损情况。

更新库存:报损信息的变动同样直截了当关系到库存的变化。

报损分析:列出当前报损量最多的前几项商品和报损量最少的前几项商品。

1.2、系统性能分析
1〕多层结构设计
严格意义上的三层结构设计,其程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。

本系统采纳的上有三层结构进一步扩展而成的多层结构。

2〕面向对象设计
在系统中将商品类型、商品等都封装成相应的类,同时每个类都有自己对应的集合类和操作类,从而再次提高了对数据库操作的平安性和程序的可扩展性。

3〕指导经营的功能
进销存治理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就能够查到目前销售最好的商品或是库存最多的商品,从而起到指导经营的作用。

1.3、系统功能模块设计
按结构化程序设计思想,分析得出如下系统功能模块图:
系统功能模块图
1.4、数据流程图
二.总体方案设计
、系统设计概述
1〕经济可行性分析
物资治理中节约人力,减轻的劳动强度。

落低本钞票及其他费用。

抓紧薄弱环节,提高工作效率。

提高数据处理的及时性和正确性。

2〕技术可行性分析
CPUPIII800
RAM64MB
硬盘3G
网络协议TCP/IP
打印机windows98/windowsxp/windos2000支持的各类打印机
2.2、代码设计
采纳的格式和命名方式,层次清楚,有条理,代码中附有程序注释,让人轻易明白,可读性强。

界面设计
界面设计美瞧,用户友好性强。

三.数据库设计
3.1、数据库需求分析
1〕针对超市进销存治理系统,分不对采购部门、销售部门和库存保管部门进行具体的调研和分析,总结出如下的需求信息:
商品按类治理,因此需要有一商品类型信息。

商品必须属于一个商品类型。

要是一个商品类型存在商品,或存在下级商品类型,那么该类型不可删除。

需要记录提供商品信息。

在涉及商品数量的地点,要给出相应的单位。

商品销售信息单中要包含登记商品销售数量、单价等信息。

在进货信息中要包含商品提供商等信息。

商品报损要有报损缘故。

进货、销售、报损操作要有相应操作员信息。

只有治理员登录之后才能够使用系统。

默认的治理员不能够删除。

进货、销售、库存、报损信息都要能够添加、修改、删除、分类查寻。

当进行进货、销售和报损操作后,能相应更新库存。

需要对进货、销售、库存、报损进行分析,总结热门商品。

2〕经上述系统功能分析和需求总结,考虑到今后功能的扩展,设计如下的数据项和数据结构:商品类型信息,包括数据项有:商品类型编号、商品类型名称等。

商品信息,包括的数据项有:商品编号、商品名称、商品介绍、库存量等。

商品单位信息,包括单位编号、单位名称等。

提供商信息,包括提供商名称、介绍等。

进货信息,包括进货商品、数量、单位、单价、进货时刻经手人等。

销售信息,包括销售商品、数量、单位、单价、登记时刻等。

报损信息,包括报损商品、数量、单位、缘故、登记时刻等。

治理员信息,包括治理员账号、密码、是否是默认账号等。

3.2、数据库概念结构设计
本系统依据以上的设计出的实体有:商品类型信息实体、商品信息实体、商品单位信息实体、提供商信息实体、进货信息实体、销售信息实体、报损信息实体和治理员信息实体。

各个实体具体的描述E-R图如下
商品类型信息实体E-R图
商品信息实体E-R图
单位信息实体E-R图
进货信息实体E-R 图
销售信息实体E-R 图
报损信息实体
E-R 图
治理员信息实体E-R图
3.3、数据库逻辑结构设计
首先将罪犯治理信息系统的数据库概念结构转化为Access数据库或SQLServer2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。

其各个表格的设计结果如下
3.4、数据库的生成与配置
通过以上的需求分析和概念结构设计以后,得到数据库的逻辑结构。

现在就能够在Access数据库或SQLServer2000数据库中创立表了。

5、创立应用程序结构
1〕创立用户界面端程序
VB中选择文件-新建工程,翻开,选择VB应用程序向导。

设置后将向导生成的模块命名mdlMain 保持与文件夹Merchandise中。

2〕创立业务逻辑处理组件
新建ActiveXDLL工程-设置工程属性-参加对ADO的引用。

3)创立全然界面组件
新建ActiveXDLL工程-设置工程属性-参加对业务逻辑组件的引用。

4〕在界面端程序中使用组件
在工程资源治理器中选中工程Merchandise,选择菜单工程-引用命令。

翻开引用对话框,在可用的引用列表中选择BuySellStorageUI和BuySellStorageDB。

四.模块软件设计
4.1、开发业务逻辑处理组件
进销存业务处理组件用来处理进销存治理系统中的业务逻辑,既负责与界面进行数据传递,同时也要将界面端的请求应用业务逻辑之后对数据库进行操作。

它包含以下功能:
●商品类型信息治理,对应clsMType类和clsMTypes类。

●商品信息治理,对应clsMerchandise类和clsMerchandises类。

●提供商信息治理,对应ClsProvider类和ClsProviders类。

●进货信息治理,对应clsBuy类和clsBuys类。

●销售信息治理,对应clsSell类和clsSells类。

●报损信息治理,对应clsDispose类和clsDisposes类。

●治理员信息治理,对应clsAdmini类和clsAdminis类。

1、信息治理类加集合类的设计思想
在本组件中,每一个模块的设计根基上由那个模块的信息治理类加与之对应的集合类求实现的。

具体完成的功能如下:
●在信息治理类:实现与单个信息相关的操作,包括添加、修改和删除。

●在信息治理集合类:实现与多个信息先瞧的操作,要紧是依据不用的条件查寻。

因此,每个模块在设计上根基上独立的,除非它在逻辑上有不可分割的关系,如进货信息的操作,与商品库存直截了当挂钩,将进货信息表的操作与商品表的操作放进到一个事务中,如此
来确保数据的平安性与一致性。

4.2、创立组件的通用模块
那个地点需要给组件添加两个通用模块,他们分不是:
●自定义枚举类clsPunliv:要紧功能是保持一些自定义枚举类型。

●公共模块mdlMain:组件初始化的函数和数据库操作的常用函数与过程。

1)自定义枚举类
我们差不多将新建工程时自动生成的类名称设为clsPublic,此类没有其他具体的意义,要紧功能是保持一些自定义枚举类型,,这些枚举类型在以后其他各类中要经常用到,因此那个地点首先介绍。

2)组件的公共模块
在工程中添加一个模块,命名为mdlMain,此模块有两个功能:
●用来连接数据库及相关的初始化操作。

●存放在对数据库的操作过程中可能用到的一些公共函数。

(1)添加全局变量
(2)SubMain()过程——组件启动进口
手动参加SubMain()过程,那个确实是根基刚刚在“工程属性〞中指定的启动对象。

那个过程完成ActiveXDLL的初始化工作。

在那个过程中假设对g_DBPath的默认设置,并翻开数据库连接。

在SubMain中的ConnectToDatabase函数,功能是用来连接到数据库。

(3)ConnectToDatabase函数——与数据库建立连接
●功能:依据传进参数是DBAccess依旧DBSQLSever来决定连接到Access数据库依旧SPLSever 数据库。

●参数设计:gxDBType类型,参见clsPublic类中的枚举定义。

●返回值:Boolean类型,True表示成功,False表示失败。

(4)RealString——替换字符串的单引号
(5)MaxID——猎取编号的最大值
MaxID函数用来猎取表中当前主健的最大值,那个函数用于在数据库中添加新记录后,立即猎取刚刚添加记录的主健值。

3〕创立模块类
〔1〕设计、总结公共属性和方法
单个模型的信息治理类有以下共同的属性和方法:
●属性ID
●方法AddNew〔〕
●方法Update〔〕
●方法Delete〔lngIDAsLong〕
●方法DeleteEx〔〕
多个模型的集合类有以下共同的属性和方法:
●方法AddEx
●方法Clear
●方法Find
〔2〕创立模板类
下面,首先利用类生成器创立一个类clsDBbase,作为模板类,向其中添加一个属性,名称为ID,
模板类的使用特别简单,在用类生成器新建类时,只要在“基于〞下拉列表框中选择所需要的模板类即可。

4.3、商品类型信息治理模块
商品类型信息治理模块的功能需要由clsMType和clsMTypes两个类来实现,它的要紧功能是:●添加商品类型信息。

●修改商品类型信息。

●删除商品类型信息。

●查寻商品类型信息。

●其他与商品类型相关的常用操作。

1〕、商品类型信息治理类clsMType
〔1〕创立clsMType类并添加属性
商品类型信息类clsMType用来处理单个商品类型的信息,实现商品类型操作的全然功能,如添加、修改、删除等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使
〔2〕AddNew方法
●功能:添加延误商品类型。

●参数设计:无。

●返回值:gxcAddNew类型请参考clsPublic类中gxcAddNew枚举类型的定义。

〔3〕Update方法
●功能:修改商品类型。

●返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。

〔4〕Delete方法
●功能:删除商品类型。

●参数设计:可选参数lngID表示商品类型ID,默认为-1。

●返回值:gxcDelete类型,请参考clsPublic类中gxcDelete枚举类型的定义。

2〕、商品类型信息治理集合类clsMTypes
商品类型信息集合类clsMTypes用来处理多个商品类型的信息,其最小的单元是clsMType,它完成与一组商品类型信息相关的操作,比方查寻功能。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使用类生成器在工程中添加一个集合类,命名为clsMTypes类,在“基于〞下拉列表框中选择clsDBbases,在“集合组成〞栏中选择clsMType类。

应用设置后系统会自动生成一个标准集合类所具有的最全然属性与方法,另外也参加了clsDBbases中方法的定义。

(1)添加AddEx方法
〔2〕添加Find方法
●功能:依据给定参数查寻商品类型,结果以clsMTypes类型返回。

●参数设计:一个可选的类型ID,默认值为-1。

●返回值:clsMTypes类型,一个clsMType的集合。

省略参数时,返回全部商品类型。

4.4、商品信息治理模块
商品信息治理模块的功能需要有clsMerch和clsMerchs两个类来实现,它的要紧功能是:
●添加商品信息
●修改商品信息
●删除商品信息
●查寻商品信息
●其他与商品信息相关的常用操作
1〕、商品信息治理类clsMerch
●功能:添加单个商品信息
●参数设计:无。

●返回值:gxcAddNew类型,参考clsPublic类中gxcAddNew枚举类型的定义。

(3)Update方法
●功能:修改商品信息。

●参数设计:无。

●返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。

〔4〕Delete方法
●功能:删除商品信息。

●参数设计:可选参数lngID表示商品ID,默认为-1。

●返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。

3)商品信息治理集合类clsMerchs
商品信息集合类clsMerchs用来具体处理多个商品的信息,其最小的单元是clsMerch,它完成与
一组商品信息相关的操作,比方查寻等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使用类生成器在工程中添加一个集合类,命名为clsMerchs类,在“基于〞下拉列表框中选择clsDBbases,在“集合组成〞栏中选择clsMerch类。

应用设置后系统会自动生成一个标准集合类所具有的最全然属性与方法,下面,为clsMerchs添加必要的方法。

(1)添加AddEx方法
(2)添加Find方法
功能:依据给定参数查寻商品信息,结果以clsMerchs类型返回。

●参数设计:如下表。

●返回值:clsMerchs类型,一个clsMerch的集合。

显然当上面两个参数都不指定时,返回全部商品。

●功能:按库存量排序查寻商品,结果以clsMerchs类型返回。

●参数设计:参见下表。

●返回值:clsMerchs类型,一个clsMerch的集合。

4.5、供货商信息治理模块
供货商信息治理模块的功能需要由clsProvider和clsProviders两个类来实现,它的要紧功能是:
●添加供货商信息。

●修改供货商信息
●删除供货商信息
●查寻供货商信息
●其他与供货商信息相关的常用操作。

1)供货商信息治理类clsProvider
(1)创立clsProvider类并添加属性
供货商信息类clsProvider用来具体处理单条供货商信息,完成供货商信息的全然操作功能,如添加、修改、删除等。

●功能:添加单个供货商信息。

●参数设计:无。

●返回值:gxcAddNew类型,参考clsPublic类中的gxcAddNew枚举定义。

(3)pdate方法
●功能:修改供货商信息。

●参数设计:无。

●返回值:gxcUpdate类型,参考clsPublic类中的gxUpdate枚举类型的定义。

(4)Delete方法
●功能:删除供货商信息。

●参数设计:可选参数lngID表示供货商信息ID,默认为-1。

●返回值:gxcDelete类型,参考clsPublic类中gxcDelete枚举类型的定义。

在删除供货商的同时,必须先删除与那个供货商相关的进货信息,而且要把这两个操作放在一个事务里面。

2)供货商信息治理集合类ClsProviders
供货商信息集合类clsProviders用来处理多条供货商信息,其最小的单元是clsProvider,它完成与一组供货商信息相关的操作,比方查寻等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使用类生成器在工程中添加一个集合类,命名为clsProviders类,在“集合组成〞栏中选择clsProvider类。

应用设置后系统会自动生成一个标准集合类所具有的最全然属性与方法,下面,为clsProviders添加必要的方法。

(1)添加AddEx方法
(2)添加Find方法
●功能:依据给定参数查寻供货商信息,结果以clsProviders类型返回。

●参数设计:一个可选的类型ID,默认值为-1。

●返回值:clsProviders类型,一个clsProvider的集合。

省略参数是,返回全部供货商。

、进货信息治理模块
进货信息治理模块的功能需要由clsBuy和clsBuys两个类实现,它的要紧功能是:
●添加进货信息。

●修先进货信息。

●删除进货信息。

●查寻进货信息。

●按商品统计分析进货信息。

●其他与进货信息相关的常用操作。

1)进货信息治理类clsBuy
●功能:添加单条进货信息。

●参数设计:无。

●返回值:gxcAddNew类型,请参考clsPublic类中的gxcAddNew枚举定义。

(3)Update方法
●功能:修先进货信息。

●参数设计:无。

●返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。

(4)Delete方法
●功能:删除进货信息。

●参数设计:可选参数lngID表示供货商信息ID,默认值为-1。

●返回值:gxcDelete类型,请参考clsPublic类中gxcDelete枚举类型的定义。

2)进货信息治理集合类clsBuys
(1)添加AddEx方法
(2)添加Find方法
●功能:依据给定参数查寻进货信息,结果以clsBuys类型返回。

●参数设计:两个可选参数,一个是进货编号,另一个是商品类型编号。

●返回值:clsBuys类型,一个clsBuy的集合,省略参数时,返回全部进货。

(3)添加FindStorage方法
●功能:统计各种商品的进货次数和累计进货总支出,最后按进货总支出来排序,结果
以clsBuys类型返回,最多返回前nCount条记录。

4.7、销售信息治理模块
销售信息治理模块的功能需要由clsSell和clsSells两个类实现,它的要紧功能是:
●添加销售信息。

●修改销售信息。

●删除销售信息。

●查寻销售信息。

●按商品统计分析销售信息。

●其他与销售信息相关的常用操作。

销售信息类clsSell用来具体处理单条销售信息,完成销售信息的全然操作功能,如添加、修改、删除等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞框,选择“VB类生成器〞,使用类
的字段不同而已。

4.8、报损信息治理模块
报损信息治理模块的功能需要由clsDispose和clsDisposes两个类来实现,它的要紧功能是:●添加报损信息。

●修改报损信息。

●删除报损信息。

●查寻报损信息。

●按商品统计分析报损信息。

●其他与报损信息相关的常用操作。

报损信息类clsDispose用来具体处理单条报损信息,完成报损信息的全然操作功能,如添加、修改、删除等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使
中的字段不同而已。

4.9、治理员信息治理模块
治理员信息治理模块的功能需要由clsAdmin和clsAdmins两个类来实现,它的要紧功能是:
●添加治理员信息。

●修改治理员信息。

●删除治理员信息。

●查寻治理员信息。

●验证治理员密码。

●其他与治理员信息相关的常用操作。

治理员信息类clsAdmin用来具体处理单条治理员信息,完成治理员信息的全然操作功能,如添加、修改、删除和验证密码等。

选择菜单[工程]—[添加类模块]命令,翻开“添加类模块〞对话框,选择“VB类生成器〞,使
字段不同而已。

2、开发全然界面组件
进销存治理系统全然界面组件用来处理进销存治理系统中与界面相关的操作,既负责与用户界面层进行数据传递,同时也要将界面端的请求传递给业务处理层,进一步转化为数据库操作。

它包括以下功能:
●商品类型操作治理,对应frmMType窗体和clsOpMType类。

●商品操作治理,对应frmMerch窗体和clsOpMerch类。

●供货商操作治理,对应frmProvider窗体和clsOpProvider类。

●进货操作治理,对应frmBuy窗体和clsOpBuy类。

●销售操作治理,对应frmSell窗体和clsOpSell类。

●报损操作治理,对应clsDispose窗体和clsOpDispose类。

●治理员操作治理,对应frmUser窗体和clsOpAdmin类。

1、信息输进界面加操作类的设计思想
1〕每个模块的组成
在本组件中,每一个模块根基上由信息输进界面与相应的操作类来实现的,具体完成的功能如下:
●信息输进界面:可供添加或修改时调用,用来猎取用户输进,将用户输进封装到对应
的信息治理类中。

●操作类:可供界面端程序调用,实现了两个功能:其一是用来调出信息输进界面,接
收用户输进,将输进存进数据库,并给出数据库操作的结果;其二是通过传引用的方式,向用户界面端传进的控件添加数据,从而在用户截面端显示。

2〕输进界面的代码结构
为了方便维护和快速开发,每个界面的实现代码结构都特别相似,大多都包括如下的方法:●ShowDlg:用来显示对话框,内部调用Me.ShowvbModal,程序停止在那个地点。

●SetStatus:设计对话框控件的默认状态。

●SetDefaultValue:设计对话框的默认值。

●OKButton_Click:[确定]按钮单击处理事件。

●CheckValid:检查用户输进有效性。

●SaveValue:保持用户输进。

●CancelButton_Click:[取消]按钮单击处理事件。

当用户单击[确定]或[取消]按钮后,程序接着执行ShowDlg函数后面的语句,用来保持或放弃用户输进。

3)操作类的代码结构
同样为了方便维护和快速开发,每个操作类的代码结构也都特别相似,大多包括如下方法:
●Add:治理增加操作。

●Modify:治理修改操作。

●Delete:治理删除操作。

●AddToLvw:将单个对象参加列表,或在列表中更新。

●InitListview:设置ListView的显示样式。

●ObjsToListView:将对象集合显示到ListView中。

●FillListView:显示指定类型对象到列表控件。

●GetObjFromControl:从列表或树形图中得到一个对象。

●ObjsToCornbo:传进参数为对象的单向类与组合框。

●FillCombo:将全部对象参加到组合框中。

2、创立组件的公共模块
为了今后扩展方便,那个地点参加一个公共模块,命名为mdlMain,现在只添加一个空的SubMain 作为组件的初始化函数。

3、商品类型操作治理模块
商品类型治理模块实现以下功能:
●处理添加商品类型的操作。

●处理修改商品类型的操作。

●处理删除商品类型的操作。

●处理列举或查寻商品类型的操作。

4、商品操作治理模块
商品操作治理模块实现以下的功能:
●处理添加商品的操作。

●处理修改商品的操作。

●处理删除商品的操作。

●处理分析商品库存量的操作。

●处理列举或查寻商品的操作。

5、供货商操作治理模块
供货商操作治理模块实现以下的功能:
●处理添加供货商的操作。

●处理修改供货商的操作。

●处理删除供货商的操作。

●处理列举或查寻供货商的操作。

6、进货操作治理模块
进货操作治理模块实现以下的功能:
●处理添加进货的操作。

●处理修先进货的操作。

●处理删除进货的操作。

●处理分析进货总支出的操作
●处理列举或查寻进货的操作。

7、销售操作治理模块
销售操作治理模块实现以下的功能:
●处理添加销售的操作。

●处理修改销售的操作。

●处理删除销售的操作。

●处理分析销售总收进的操作。

●处理列举或查寻销售的操作。

8、报损操作治理模块
报损操作治理模块实现以下的功能:
●处理添加报损的操作。

●处理修改报损的操作。

●处理删除报损的操作。

●处理分析报损总数量的操作。

●处理列举或查寻报损的操作。

9、治理员信息操作治理模块
治理员信息操作治理模块实现以下的功能:
●处理添加治理员信息的操作。

●处理修改治理员信息的操作。

●处理删除治理员信息的操作。

●处理列举或查寻治理员信息的操作。

3。

界面端应用程序设计
1、公共模块的设计
在创立用户界面端应用程序时,向导差不多为我们生成了一个名为mdlMain的模块,我们对那个模块略微修改即可使用。

●添加成员变量
●修改Main过程
2、用户登进模块的设计
1)用户登进对话框设计
●用户登进对话框代码设计
●添加成员变量
●修改Form_Load过程
●修改[确定]按钮的处理代码
3、系统主界面的设计
给sstabView控件添加5个选项卡,选项卡标题分不设置为“商品库存〞、“进货记录〞、“销售记录〞、“报损记录〞和“提供商〞,分不对应5个ListView。

●添加菜单
4、添加主界面的处理代码
●添加窗体初始化函数
●菜单响应函数
●树形控件单击响应函数
●其他代码
5、用户治理模块
●用户治理对话框界面设计
●用户治理对话框代码设计
6、经营分析模块
经营分析模块用来对超市的运作情况进行分析,具有以下功能:
●库存量排行。

●进货总量与登记次数排行。

●销售总量与登记次数排行。

●报损总量与登记次数排行。

测试分析
一、强制变量声明
选择菜单[工具]—[选项]命令,翻开“选项“对话框〞,在“编辑器〞属性页中,把“要求变量声明〞复选框选上,或者手工在每个文件的开头加上要害字:
optionExplicit
如此在编译时会对没有声明的变量报错,从而减少许多不必要的调试。

二、常见错误的防止
1、数据类型不匹配
数据类型的判定错误,比方一个功能模块,同意传进的数据为id,要求其值必须是正数。

要是写程序时传进的是小数,或者是非数字的字符串,那么程序将会出现错误。

又如查询数据表时,使用了WHERE子句,然而数据类型不匹配,数据库中字段类型为数字的值,却使用了字符串往查询,就会出现错误。

2、数据与数据库限制相冲突
数据与数据库限制相冲突,可能是其值超过了数据库的上限和下限。

比方在数据库中,用户名称字符数量上限是20个字符,而在程序中没有对此进行判不,要是一个添加新商品时名字有21个字符,那么在使用SQL语句插进数据与记录的时候就会出错。

3、变量声明错误
最后是一些常识性错误,比方在If…Else…EndIf过程中,认为判定只会执行其中的一段代码,因此在两段中都使用了DimobjasclsMerch,事实上,编译器在语法分析时期,是首先将一个函数内声明的全部变量都放符号表中,而不管那个变量的声明是在那个函数的什么位置。

又如在SelectCase中,Case的条件是字符串,然而没有加引号,就变成了Case一个空变量。

4、资源的建立与释放
在将类实例化时,必须使用New要害字,未实例化类无法使用,例:
误:
DimobjasclsMerch
正:
DimobjasclsMerch
Setobj=NewclsMerch
同理,在调用Setobj=Nothing后,资源差不多释放,无法再调用类内的方法。

5、系统的编译和发行
3个工程的工程属性在前面创立工程时均已设置完毕,由于在本系统中生成了名为BuySellstorageDB.dll和BuySellstorageUI.dll的组件,当移植到其他机器使用时,需要先注册此组件。

另外系统中默认的数据库的路径是与BuySellstorageDB.dll同名目下的DB文件夹,因此当移植到其他机器时,那个路径关系依旧不能改变。

相关文档
最新文档