超市管理系统的设计和实现内容摘要:

数量和总金额。 结构如图 42: 图 42 销售视图 超市管理系统 的设计和实现 14 11. 视图 v_stock v_stock 的作用是对每种商品统计库存总数。 结构如图 43 所示: 图 43 库存视图 12. 视图 Report3 Report3 的作用是统计商品入库和销售的流水记录。 代码 如下: SELECT StoreinId, ProId, ProPrice, ProNum, ClientId, EmpName FROM storein UNION SELECT SaleId, ProId, ProPrice, ProNum, (ProPrice * ProNum) AS SumPrices, EmpName FROM sale 功能模块设计及实现 设计工程框架 首先创建一个名为 Supermarket 的新工程,并保存生成 文 件。 设主窗体为。 1. 添加模块 根据分析创建以下几个模块: 1) Const 用来管理工程中的常量; 2) DbFunc 用来管理工程中与数据库操作相关的声明、变量和函数; 3) GeneralFunc 用来管理工程中一些通用的自定义函数; 4) Variable 用来管理工程中的全局变量。 超市管理系统 的设计和实现 15 ( 1) Const 模块代码: 39。 数据库访问常量 Public Const SQL_C_CHAR As Long = 1 Public Const SQL_COLUMN_LABEL As Long = 18 Public Const SQL_DROP As Long = 1 Public Const SQL_DRROR As Long = 1 Public Const SQL_NO_DATA_FOUND As Long = 100 Public Const SQL_SUCCESS As Long = 0 Public Const SQL_SUCCESS_WITH_INFO As Long = 1 Public Const SQL_ATTR_MAX_LENGTH As Long = 100 39。 数据源信息常量 Public Const DATABASE As String = Supermarket Public Const DSN As String = Supermarket 39。 一次执行 connect 操作可以访问数据库的次数 Public Const CONNECT_LOOP_MAX = 10 ( 2) Variable 模块代码: 39。 保存执行 SQL 语句的字符串 Public SqlStmt As String 39。 服务器名称 Public SCHOOL As String 39。 读取表中列值的变量 Public ColVal As String 39。 客户名称数组 Public Arr_Client() As String 39。 商品类目数组 Public Arr_ProType() As String 39。 商品名称数组 Public Arr_Product() As String 39。 仓库名称数组 Public Arr_Stock() As String 39。 库存商品编号和商品数量数组 Public Arr_SupermarketProId() As Long Public Arr_SupermarketProNum() As Integer 39。 类 模块对象 Public Myuser As New user 39。 用户对象 Public Curuser As New user 39。 当前用户对象 Public MyMember As New Member 39。 会员对象 Public MyPro As New Product 39。 商品对象 Public MyProType As New ProType 39。 商品类别对象 Public MyStorein As New Storein 39。 入库对象 Public MySale As New Sale 39。 销售 对象 Public Mystock As New stock 39。 库存商品对象 Public MyClt As New Client 39。 供应商对象 超市管理系统 的设计和实现 16 2. 添加类模块 根据 VB 功能模块的划分原则,将为每一个表创建一个类模块,将对此表的所有数据库操作封装在类中。 1. Client 类(如表 49所示) 表 49 Client 类的成员函数 函数名 具体说明 Init 初始化成员变量 Delete 删除指定客户记录。 参数 TmpId 表示要删除的供应商编号 GetId 根据指定的客户名称,返回供应商的编号。 参数 TmpName 表示指定的供应商名称。 GetInfo 读取指定的供应商记录。 参数 TmpId 表示要读取的供应商编号。 GetName 根据指定的供应商编号读取供应商名称。 参数 TmpId 表示指定的供应商编号。 In_DB 判断指定的供应商是否已经在数据库中。 参数 TmpClientName 表示指定的供应商名称。 Insert 插入新的供应商记录 Update 修改指定的供应商记录。 参数 TmpId 表示要修改的供应商编号。 其中 Init 函数的代码如下: Public Sub Init() ClientId = 1 ClientName = ClientType = 1 Contact = Address = Postcode = Phone = Fax = Describe = End Sub 2. Member 类(如表 410所示) 表 410 Member 类的成员函数 函数名 具体说明 Init 初始化成员变量 Delete 删除指定会员记录。 参数 TmpId 表示要删除的会员编号 GetId 根据指定的会员名字,返回会员的 编号。 参数 TmpName 表示指定的会员名字。 GetInfo 读取指定的会员记录。 参数 TmpId 表示要读取的会员编号。 GetName 根据指定的会员编号读取会员名称。 参数 TmpId 表示指定的会员编号。 Insert 插入新的会员记录 Update 修改指定的会员记录。 参数 TmpId 表示要修改的会员编号。 超市管理系统 的设计和实现 17 3. Product 类(如表 411 所示) 表 411 Product 类的成员函数 函数名 具体说明 Init 初始化成员变量 Delete 删除指定商品记录。 参数 TmpId 表示要删除的商 品编号 GetId 根据指定的商品,返回商品的编号。 参数 TmpName 表示指定的商品名称。 GetInfo 读取指定的商品记录。 参数 TmpId 表示要读取的商品编号。 GetName 根据指定的商品编号读取商品名称。 In_DB 判断指定的商品名称是否已经在数据库中。 参数 TmpClientName 表示指定的商品名称。 Insert 插入新的商品记录 Load_by_Upper 根据指定的商品类目,读取所属的商品名称。 参数 TmpTypeId 表示指定商品类目的编号。 HaveType 判断指定的商 品类目中是否包含商品。 参数 TmpTypeId 表示指定的商品类目编号。 如果返回 True,则表示指定的商品类目下存在商品;否则表示不存在商品。 此函数将在删除商品类目数据之前调用,如果返回 True,则不能删除指定的数据。 Update 修改指定的商品记录。 参数 TmpId 表示要修改的商品编号。 其中 Insert 过程的代码如下: Public Sub Insert() 39。 连接数据库 DB_Connect 39。 设置 Insert 语句 SqlStmt = INSERT INTO Product (ProName, ProStyle, _ + TypeId, ProUnit, ProPrice, ProLow, ProHigh) _ + Values(39。 + Trim(ProName) + 39。 ,39。 + Trim(ProStyle) _ + 39。 , + Trim(Str(TypeId)) + ,39。 + Trim(ProUnit) + 39。 , _ + Trim(ProPrice) + , + Trim(ProLow) + , + Trim(ProHigh) + ) 39。 执行 SQL 语句 OdbcExt (SqlStmt) Rc = SQLFreeStmt(Hstmt, SQL_DROP) 39。 断开与数据库的连接 DB_Disconnect End Sub 超市管理系统 的设计和实现 18 4. ProType 类(如表 412 所示) 表 412 ProType 类的成员函数 函数名 具体说明 Init 初始化成员变量 Delete 删除指定商品类目记录。 参数 TmpId 表示记录编号 GetId 根据指定的商品类目名称,返回商品类目编号。 参数 TmpName 表示指定的商品类目名称。 GetInfo 读取指定的商品类目记录。 参数 TmpId 表示要读取的商品类目编号。 GetName 根据指定的商品类目编号读取商品类目名称。 参数 TmpId 表示指定的商品类目编号。 HaveSon 判断指定的商品类目中是否存在下级商品类目。 参数 TmpUpperId 表示指定的商品类目编号。 如果返回 True,则表示存在下级目录;否则表示没有下级目录。 此函数在删除商品类目前调用,如果返回True,则不能删除指定数据。 In_DB 判断指定的商品类目名称是否已经在数据库中。 参数 TypeName 表示指定的商品 类目名称。 Insert 插入新的商品类目记录 Load_by_Upper 根据指定的商品类目,读取下一级商品类目。 参数 UpperId 表示指定商品类目的编号。 Update 修改指定的商品类目记录。 参数 TmpId 表示要修改的商品类目编号。 其中 HaveSon 函数的代码如下 : Public Function HaveSon(ByVal TmpUpperId As Long) As Boolean 39。 连接数据库 DB_Connect 39。 设置 SQL 语句,读取指定的产品类目编号 SqlStmt = SELECT TypeId FROM ProType WHERE UpperId= _ + Trim(Str(TmpUpperId)) 39。 执行 SQL 语句 OdbcExt (SqlStmt) 39。 如果结果集中有数据,则返回 True;否则返回 False If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then HaveSon = False Else HaveSon = True End If Rc = SQLFreeStmt(Hstmt, SQL_DROP) 39。 断开与数据库的连接 DB_Disconnect End Function 超市管理系统 的设计和实现。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。