小商店进销存管理系统的设计与开发内容摘要:

损信息。 添加商品信息:主要功能添加新报损的商品。 修改商品信息:主要功能是修改商品的报损信息。 7)统计模块:本模块主要是对商品的库存、进货、销售和报损数量进行统计,用以分析计算,能更好的管理商品。 系统结构设计 根据面向对象和三层结构的设计思想,系统结构设计图如图 所示。 图 系统结构设计图 商品进销存管理系统 用户操作界面 业务逻辑组件 数据库 用户登录界面 进销存系统主界面 添加和修改系统界面 查询信息界面 关于界面 公共模块 用户信息类及对应集合类 供货信息类及对应集合类 商品类型信息类及对应集合类 商品信息类及对应集合类 进货信息类及对应集合类 销售信息类及对应集合类 报损信息类及对应集合类 公共枚举类 视图和用户自定义函数 存储过程和触发器 . . 数据库概念设计 数据库概念结构设计是根据需求分析得到的数据 项和数据结构,设计相关实体和关系,并描述出实体关系 ER 图。 根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和实体之间的关系,并画出如下所示的 ER 图。 图 商品实体图 图 用户实体图 图 供货商关系图 用户 用户名 密 码 真实姓名 用户类型 商品 供货商 商品类型 单价 商品介绍 单 位 备 注 商 品 名称 供 货 商 简要介绍 备注 联系方式 供货商名称 . . 图 库存关系 图 进货关系图 图 销售关系图 图 统计关系图 库存 商品类型 单价 入库数量 入库日期 商品名称 商品编号 进货 数量 单价 送货员 商品名称 备注 办理员 销售 数量 备注 销售单价 商品名称 统计 销售 报损 进货 . . 数据库的设计 数据库一般分为三级模式:外模式、概念模式和内模式。 外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表示为简单、直观的应用界面。 概念模式是数据库中全部数据的逻辑结构和特征描述,通常以某种数据模型为基础。 内模式是对数据的物理结构和存储方式的描述 [4]。 数据库表的设计 数据库逻辑结构设计,即把前两个阶段的成果转化为某种数据库系统所支持的数据模型。 在企业管理器中,用鼠标右键单击数据库 BuySsleStorage 下的“用户定义的数据类型”节点,选择【创建 用户定义数据类型】菜单命令,按表 所述的 内容创建用户定义类型。 表 用户自定义数据类型 用户定义数据类型创建完成之后,可以当作 SQL Server 数据库的内置数据类型来使用。 商品进销存系统一共涉及到 7 个信息实体,为每个实体创建 系统用户表 如 表 所示。 表 系统用户表 名称 基本类型 长度 允许 NUL值 默认值 使 用 gacaption varchar 100 0 实体名称 gxcid int 4 0 实体编号 gxcmoney samallmon 4 0 进货、销售金额 gxcremark vachar 1000 1 dbo. 备注 gxcturnname vachar 10 0 真实姓名 列名 数据类型 长度 允许空 默认值 说 明 userid Gxcid 4 0 用户编号,递增,主键 Username gxccaption 100 0 用户账号名 Password gxccaption 100 0 密码 Turename gxcturename 10 0 真实姓名 lastlogintime datetame 8 1 Gatdate() 上次登录时间 usertype bit 1 0 用户类型 1:管理员 2: . . 表 供货商信息表 数据库程序设计 添加 ExistByID 存储过程 功能:查看某个数据表中,是否存在某个整型字段等于某个值得记录。 实现程序如下: /*查看某个数据表中,是否存在某个整型字段等于某个值的记录 */ ALTER PROC [dbo].[ExistByID] ( @strTableName varchar(255), 表名 @strFieldName varchar(255), 整型字段名 @intFieldValue int, 整型字段值 @bitResult bit OUTPUT 输出值,为不存在,为存在 ) AS SET NOCOUNT ON DECLARE @strSQL varchar(3000) 主语句 DECLARE @nCount int 返回记录行数 /*构建存储符合条件的记录数的临时表 */ IF OBJECT_ID(39。 dbo.tmpTable39。 ) IS NULL CREATE TABLE tmpTable(tmpField int) 创建临时表 ELSE SupplierID gxcid 4 0 供货商品号,递增,主键 Suppliername gxccaption 100 0 供货商名称 Contact gxcremark 1000 1 联系方式 Introduct gxcremark 1000 1 简要介绍 Remark gxcremark 1000 1 备注 . . TRUNCATE TABLE tmpTable 清空临时表 /*在数据库表中检索符合条件的记录数并存储在临时表中 */ SELECT @strSQL = 39。 SELECT COUNT([39。 + @strFieldName + 39。 ]) FROM [39。 + @strTableName + 39。 ] WHERE [39。 + @strFieldName + 39。 ] = 39。 + CONVERT(varchar(50),@intFieldValue) SELECT @strSQl = 39。 INSERT tmpTable 39。 + @strSQL EXEC(@strSQL) /*在临时表中返回存储的记录数 */ SELECT TOP 1 @nCount = tmpField FROM tmpTable ORDER BY tmpField / /*删除临时表 */ DROP TABLE tmpTable /*输出参数 */ IF @nCount 0 SELECT @bitResult = 1 ELSE SELECT @bitResult = 0 创建应用程序结构 创建用户界面端程序 在 VisualBasic 中选择【文件】 【新建工程】菜单命令,打开“新建工程”对话框,选择“标准 EXE”,保存之后, BuySaleStorage 应用程序创建完毕。 创建业务逻辑组件 在 BuySaleStorage 工程中选择【文件】 —— 【添加工程】菜单命令,打开“添加工程”对话框,选择 ActiveXLL,创建 ActiveXLL 程序。 设置工程属性 在“工程资源管理器”中选中刚才新建的工程,选择【工程】 —— 【工程 1 属性】菜单命令,打开“工程属性”对话框,对工程的一些关键属性做如下设置: 工程类型: ActiveX DLL 启动对象: Sub Main 工程名称: BuySaleStorageCOM . . 将文件保存在与 BuySaleStorage 同级的 BuySaleStorageCOM 文件夹中。 将组合文件保存在与 BuySaleStorage 同级的文件夹中,取 ,其他去默认值。 选择【工程】 —— 【引用】菜单命令,打开“引用”对话框,选择 Microsoft ActiveX Date Objects ,在工程中加入对 ADO 的支持。 将新建工程时主动生成的类 Class1 的名称重设置为 clsPublic,然后按照默认文件名 保存工程。 在界面端引用业务逻辑组件 在“工程资源管理器”中选择工程 BuySaleStorage,选择【工程】 —— 【引用】菜单命令,打开“引用”对话框,在可用的引用列表中选 BuySaleStorageCOM,至此,在BuySaleStorage 应用程序中可以使用 BuySaleStorageCOM 中的全部可用资源。 开发组件 对象操作类加集合类的设计思想 在本组件中,每个模块的设计都是由这个模块的对象操作类加对应的集合类来实现的。 具体的功能如下: 在对象操作类:实现与单个信息相关的操作,包括添加、修改和删除。 在对象集合类:实现 与多个信息相关的操作,主要是根据不同的条件查找和统计。 添加公共模块 新建一个模块,并命名为 mdlPublic。 本模块的主要功能包括 ActiveX DLL 的启动程序 Sub Main()过程,与数据库建立连接及过滤字符串单引号等。 全局变量的声明 首先,加入一个全局变量,它的名称和功能如下: Public g_conn as connection „用于全局的数据连接 ‟ Sub Main ()过程 —— 组件启动入口点 创建业务逻辑组件的时候,把 ActiveX DLL 工程的启动属性设置为 Sub Main() ,在这个启动对象中要完成的功能就是与数据库的连接,实现代码如例程 所示。 例程 Sub main()过程 „ActiveX DLL 的启动程序, DLL 初始化时执行 Public Sub Main() If ConnectToDatebase=Fale then magbox “连接数据库出错。 ”, vblnformation . . End Sub 其中 Connecttodatebase 函数的功能是用来与数据库连接,并返回 是否连接成功。 下面看看它是如何实现的。 Connecttodatebase 函数 —— 与数据库建立连接 功能:连接到 SQL 数据库。 返回值: Boolean 类型。 设计思路:组织连接字符串,然后打开数据库的连接。 编写的函数见附件的例程 在连接到字符串中使用到的参数,包括服务器地址、数据库名、登录用户和明码等,必须与创建数据库的时候进行的配置一样。 其他模块的开发 1) 供货商管理模块 供货商管理模块包括操作类 clsSupplier 和集合类 clsSuppliers,实现的功 能有添加、更新、删除、查询和其他与供货商信息有关的操作。 clsSupplier 类中的 AddNew 、 Update 和 Delete 方法,与用户管理模块中 clsUser 类的处理类似,只是调用的存储过程不同而已。 供货商信息集合类 clsSupplier 用来查询并以集合类的形式返回供货商的信息。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。