您的当前位置:首页正文

管理信息系统课程设计报告

来源:帮我找美食网


目 录

一、课程设计的目的与要求„„„„„„„„„„„„„„„„ 4 二、设计正文„„„„„„„„„„„„„„„„„„„„„„ 4 1、系统分析„„„„„„„„„„„„„„„„„„„„„„ 4

1.1系统开发背景、开发范围、建设目标与必要性„„„„„ 4

1.2业务流程分析„„„„„„„„„„„„„„„„„„„ 4 1.3数据流程图„„„„„„„„„„„„„„„„„„„„ 5 1.4数据字典„„„„„„„„„„„„„„„„„„„„„ 6 1.4.1数据项的定义„„„„„„„„„„„„„„„„„„ 6 1.4.2数据结构的定义„„„„„„„„„„„„„„„„„ 7 1.4.3数据流的定义„„„„„„„„„„„„„„„„„„ 7 1.4.4处理逻辑的定义„„„„„„„„„„„„„„„„„ 10 1.4.5数据存储的定义„„„„„„„„„„„„„„„„„ 10 1.4.6外部实体的定义„„„„„„„„„„„„„„„„„ 11 2、系统设计„„„„„„„„„„„„„„„„„„„„„„ 11 2.1功能设计„„„„„„„„„„„„„„„„„„„„„ 11 2.2系统运行环境与数据库设计„„„„„„„„„„„„„ 12 3、系统实施„„„„„„„„„„„„„„„„„„„„„„ 15 3.1登录模块及主界面设计„„„„„„„„„„„„„„„ 15 3.2信息管理页面的设计„„„„„„„„„„„„„„„„ 16 3.2.1供应商管理及实现代码„„„„„„„„„„„„„„ 16 3.2.2顾客管理及实现代码„„„„„„„„„„„„„„„ 15 3.2.3商品信息管理及实现代码„„„„„„„„„„„„„ 19 3.2.4进货管理及实现代码„„„„„„„„„„„„„„„ 20

1

3.2.5销售管理及实现代码„„„„„„„„„„„„„„„ 20 3.3数据查询„„„„„„„„„„„„„„„„„„„„„ 25 3.3.1供应商信息查询及实现代码„„„„„„„„„„„„ 26 3.3.2顾客查询及实现代码„„„„„„„„„„„„„ 28 3.3.3商品信息查询及实现代码„„„„„„„„„„„„„ 29 3.3.4进货查询及实现代码„„„„„„„„„„„„„„„ 31 3.3.5销售查询及实现代码„„„„„„„„„„„„„„„ 33 3.4管理员设定„„„„„„„„„„„„„„„„„„„ 34 三、课程设计总结或结论„„„„„„„„„„„„„„„„„ 四、参考文献„„„„„„„„„„„„„„„„„„„„„„ 39 五、小组成员分工说明„„„„„„„„„„„„„„„„„„ 40

2

37

《贸易管理信息系统》

一、课程设计的目的与要求

通过管理信息系统课程设计,进一步掌握管理信息系统的理论和方法。培养和锻炼开发管理信息系统的能力。为今后信息系统开发打下良好的基础。

要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。主要包括:系统调研方法;业务分析、数据分析、系统逻辑模型设计方法;数据库设计、功能设计、物理模型设计方法;系统的实现等方法。完成一个小型系统的设计与开发。

二、设计正文

1、 系统分析

1.1系统开发背景、开发范围、建设目标与必要性

所谓贸易公司,主要是指进行商品的买卖或劳务的交换活动的公司。贸易公司有货源和销售目标,即供应商和商品客户,通过流通获得利润。由于最重要的是“信息”,故贸易公司在双向选择时,需要不断地收集有价值的信息,清楚掌握工厂和客户中的详细情况,以便在选择供应商和商品客户时更合理。然而有些贸易公司由于信息不对等,导致很多商品客户直接找供应商采购,绕过贸易公司这一环节,从而使得贸易公司的作用大大降低。传统的文件管理信息方法流程较繁琐和复杂,不能灵活地表达所需信息,而信息化的管理方法不但能及时和快速反映公司内外部信息,还能帮助企业进行业务信息分析,从而作出合理决策。 1.2业务流程分析

客户先将所需商品计划提交给贸易公司,贸易公司根据需求计划从供应商进货,将货物先放在仓库存放,然后销售给客户。业务流图如图1-1所示:

客户

进货

销售 仓库

3

所需商品计划 贸易公司 供应商

1.3数据流程图

数据流程图如图1-2所示:

符号定义:

外部实体 数据处理 数据存储 数据流

顶层数据流程图:

合同

客户 销售处理 商品

详细数据流图

合同执行登记 合同 合 执行数据 同 需求计划 合同 客户 需求处理 合同台帐 供应商

发货通知 商品 销售数据 商品

销售处理 仓库 发货处理

4

图1-2数据流程图

1.4数据字典 1.4.1数据项的定义 数据项编号 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15 I16 I17 I18 I19 I20

数据项名称 供应商编号 供应商名称 供应商联系地址 供应商联系人 供应商联系电话 供应商公司主业 供应商城市名称 供应商地区名称 供应商邮政编码 供应商传真号码 供应商备注 客户编号 客户名称 联系人 联系地址 联系电话 邮政编码 公司主业 城市名称 地区名称 别 名 5

简 述 唯一标示供应商 供应商公司名 供应商所在地 供应商的联系方式 供应商主要经营的业务 供应商所在城市 供应商所在地区 供应商所在地的邮政编码 备注 唯一标示客户 客户公司名 客户所在地 客户的联系方式 客户所在地的邮政编码 客户主要经营的业务 客户所在城市 客户所在地区 类型及其宽度 文本型,20位 文本型,12位 文本型,20位 文本型,20位 文本型,10位 文本型,10位 文本型,10位 文本型,10位 文本型,20位 文本型,10位 文本型,50位 文本型,20位 文本型,12位 文本型,20位 文本型,20位 文本型,10位 文本型,20位 文本型,10位 文本型,10位 文本型,10位

I21 I22 I23 I24 I25 I26 I27 I28 I29 I30 I31 传真号码 备注信息 商品编号 商品名称 商品规格 计量单位 备注 数量 日期 单价 总价 备注 唯一标示商品 商品要求 文本型,10位 文本型,50位 文本型,20位 文本型,12位 文本型,10位 文本型,10位 文本型,50位 数值型,20位 日期型,20位 数值型,20位 数值型,50位 1.4.2数据结构的定义 数据结构编号 DS-01 数据结构名称 供应商情况 简 述 数据结构组成 供应商编号,供应商名I1+I2+ I3+ I4+ I5+ I6+ I7+ 称,供应商联系地址,供I8+ I9+ I10+ I11 应商联系人,供应商联系电话,供应商公司主业,供应商城市名称,供应商地区名称,供应商邮政编码,供应商传真号码,供应商备注 顾客编号,顾客名称,联I12+ I13+ I14+ I15+ I16+ 系人,联系地址,联系电I17+ I18+ I19+ I20+ I21+I22 话,邮政编码,公司主业,城市名称,地区名称,传真号码,备注信息 商品编号,商品名称,商I23+I24+I25+I26+I27 品规格,计量单位,备注 供应商情况,商品信息,DS-01+DS-03+I28+I29+I30+I数量,日期,单价,总价,31 备注 客户情况,商品信息,数量,日期,单价,总价 DS-02+DS-03+I28+I29+I30+I31 DS-02 客户情况 DS-03 DS-04 商品信息 进货信息 DS-05 销售信息 1.4.3数据流的定义 数据流编号 数据流名称 简述 数据流来源 数据流去向 数据流组成 数据流量 20份/小时 10高峰流量 30份/小时 15D-01 注册管理员 注册管理员名称和密码 修改管管理员输入 用户信息注册 新用户名+新用户密码 D-02 修改管

管理员输修改用6

用户名+旧用户密码+

理员信息 D-03 添加供应商信息 理员密码 添加新的供应商信息 入 户信息模块 供应商信息增加模块 新用户密码+新用户密码 根据具体添加内容有:供应商编号,供应商名称,供应商联系地址,供应商联系人,供应商联系电话,供应商公司主业,供应商城市名称,供应商地区名称,供应商邮政编码,供应商传真号码,供应商备注 根据具体修改内容有:供应商编号,供应商名称,供应商联系地址,供应商联系人,供应商联系电话,供应商公司主业,供应商城市名称,供应商地区名称,供应商邮政编码,供应商传真号码,供应商备注 删除整条记录 份/小时 10份/小时 份/小时 15份/小时 管理员输入 D-04 修改供应商信息 修改供应商信息 管理员输入 供应商信息修改模块 15份/小时 25份/小时 D-05 删除供应商信息 D-06 添加客户信息 删除旧的供应商信息 添加新的客户信息 管理员输入 供应商信息删除模块 客户信息增加模块 20份/小时 20份/小时 30份/小时 30份/小时 管理员输入 根据具体添加内容有:顾客编号,顾客名称,联系人,联系地址,联系电话,邮政编码,公司主业,城市名称,地区名称,传真号码,备注信息 根据具体修改内容有:顾客编号,顾客名称,联系人,联系地址,联系电话,邮政编码,公司主业,城市名称,地区名称,传真号码,备注信息 删除整条记录 D-07 修改客户信息 修改客户信息 管理员输入 客户信息修改模块 10份/小时 15份/小时 D-08 删除客户信息 删除旧的客户信息 管理员输入 客户信息删除模块 10份/小时 15份/小时 7

D-09 添加商品信息 添加新的商品信息 管理员输入 商品信息增加模块 根据具体添加内容有:商品编号,商品名称,商品规格,计量单位,备注 根据具体修改内容有:商品编号,商品名称,商品规格,计量单位,备注 删除整条记录 25份/小时 10份/小时 25份/小时 20份/小时 20份/小时 20份/小时 20份/小时 20份/小时 20份/小时 20份/小时 35份/小时 15份/小时 35份/小时 30份/小时 30份/小时 30份/小时 30份/小时 30份/小时 30份/小时 30份/小时 D-10 修改商品信息 修改商品信息 管理员输入 商品信息修改模块 D-11 删除商品信息 删除旧的商品信息 管理员输入 商品信息删除模块 D-12 添加进货信息 添加新的进货信息 修改进货信息 管理员输入 进货信息增加模块 进货信息修改模块 进货信息删除模块 销售信息增加模块 销售信息修改模块 销售信息删除模块 供应商信息查询模块 根据具体添加内容有:供应商情况,商品信息,数量,日期,单价,总价,备注 根据具体修改内容有:供应商情况,商品信息,数量,日期,单价,总价,备注 删除整条记录 D-13 修改进货信息 管理员输入 D-14 删除进货信息 删除旧的进货信息 添加新的销售信息 修改销售信息 管理员输入 D-15 添加销售信息 管理员输入 根据具体添加内容有:客户情况,商品信息,数量,日期,单价,总价 根据具体修改内容有:客户情况,商品信息,数量,日期,单价,总价 删除整条记录 D-16 修改销售信息 管理员输入 D-17 删除销售信息 删除销售信息 管理员输入 D-18 查询供应商信息 查询供应商信息 管理员输入 查询供应商信息:供应商编号,供应商名称,供应商联系地址,供应商联系人,供应商联系电话,供应商公司主业, 8

供应商城市名称,供应商地区名称,供应商邮政编码,供应商传真号码,供应商备注 D-19 查询客户信息 查询客户信息 管理员输入 客户信息查询模块 查询客户信息:顾客编号,顾客名称,联系人,联系地址,联系电话,邮政编码,公司主业,城市名称,地区名称,传真号码,备注信息 查询商品信息:商品编号,商品名称,商品规格,计量单位,备注 查询进货信息:供应商情况,商品信息,数量,日期,单价,总价,备注 查询销售信息:客户情况,商品信息,数量,日期,单价,总价 20份/小时 30份/小时 D-20 查询商品信息 查询商品信息 管理员输入 商品信息查询模块 进货信息查询模块 销售信息查询模块 20份/小时 20份/小时 20份/小时 30份/小时 30份/小时 30份/小时 D-21 查询进货信息 查询进货信息 管理员输入 D-22 查询销售信息 查询销售信息 管理员输入 1.4.4处理逻辑的定义 处理逻辑编号 P1 处理逻辑名称 增加管理员 简 述 输入的数据流 处 理 输出的数据流 向数据库新管理员 根据收入的用户名检索系统新管理员 中加入新中是否存在此用户,若果不存的管理员 在,则在用户信息表中添加;若存在,发出警告 修改密码 修改管理员 对供应商信息进行查询 查询客户信息 查询供应商信息 新客户信息 根据旧的密码,在检索在数据修改管理员库中,若存在此用户则修改;信息 若不存在则发出警告 先选择查询的方式,如:按编号查询,输入查询信息,在数据库中检索 先选择查询的方式,如:按编号查询,输入查询信息,在数据库中检索 先选择查询的方式,如:按编号查询,输入查询信息,在数据库中检索 查询供应商信息结果 查询客户信息结果 商品信息查询结果 P2 管理员信息修改 供应商信息查询 客户信息查询 商品信息查询 P3 P4 P5 按不同的查询商品方式查询信息 商品信息 1.4.5数据存储的定义

9

数据存储的编号 F1 F2 数据存储的名称 简 述 数据存储的组成 关键字 相关联的处理 管理员信息表 用户信息表 存储用户名、密码 存储客户的信息 用户名+密码 顾客编号,顾客名称,联系人,联系地址,联系电话,邮政编码,公司主业,城市名称,地区名称,传真号码,备注信息 用户名 顾客编号 F3 供应商信息表 存储供应商信息 供应商编号,供应商名供应商编称,供应商联系地址,号 供应商联系人,供应商联系电话,供应商公司主业,供应商城市名称,供应商地区名称,供应商邮政编码,供应商传真号码,供应商备注 1.4.6外部实体的定义 外部实体编号 S1 外部实体名称 管理员 简 述 输入的数据流 输出的数据流 对系统进行全面管理,有最大权限 修改操作员信息、新操作员信信息查询结果、 息、修改客户信息、新客户信息、交费 查询信息 2 、系统设计

2.1功能设计

本系统的设计可分为信息管理、数据查询、管理员设定等3个模块。  信息管理模块:

1、供应商管理:对于供应商的详细信息添加修改删除。 2、顾客管理:对于顾客的详细信息添加修改删除。 2、商品信息管理:对于商品的详细信息添加修改删除。

4、进货管理: 对购进的货物供应商信息和商品信息进行录入和修改

5、销售管理: 对销售出去的商品的顾客信息和商品信息等销售信息进行录入和修改。  数据查询模块:

1、供应商查询:对于暂时所有的供应商信息查询。 1、顾客查询:对于在存的所有的顾客信息查询

10

2、商品查询: 对于所有库存的商品信息查询 4、进货查询:对于每次的进货信息查询 5、销售查询:对于每次销售信息查询。  管理员设定模块 1、管理员修改密码 3、新的管理员注册

贸易管理信息系统 信息管理 数据查询 管理员设定 供应商管理顾客管理商品信息管理进货管理销售管理供应商查询顾客查询商品查询进货查询销售查询修改密码注册新管理员 图2-1 系统模块关系图

2.2系统运行环境与数据库设计

软件界面的设计简约,采用传统的下拉菜单样式,层次清晰、功能直观,操作者可以一目了然,清楚明白软件当前的工作状态。

管理系统应用于Win98/NT/2000/XP操作平台,采用标准窗口设计方案,简单明了、易学易用,只要稍看软件使用说明,就能熟练的操作,可以很好的完成工作。

本系统采用Borland公司的Dephi 7.0作为应用程序开发工具,用Access做后台数据库,统计相关的数据信息,生成数据表。Dephi 7.0是目前一种广泛的、易学易用的面向对象的开发工具。Dephi 7.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。Dephi 7.0提供了强大的数据管理功能,可以通过数据管理器、数据控件和数据访问对象等多种方法对数据库进行新增、修改、删除、查询等操作。本系统只是从实际中提取出来的一个简单的信息管理系统,故而,实现本系统用Dephi 7.0 完全能够实现。

数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在

11

数据库设计之上的。

本系统采用Access作为后台数据库。Access 是微软公司发布的Office软件包中的关系型数据库软件,具有功能灵活、界面友好、易于学习和操作等特点,拥有广泛的用户群体。Access是开发单机小型数据库应用系统的理想工具,可以独立开发数据库应用系统,也可以作为后台数据库与Visual Basic等高级语言结合使用。本系统属于小型数据库应用系统,数据库的设计并不复杂,因此采用Access 作为本系统开发的后台数据库完全能够实现。

基于上述运行环境,根据系统分析,设计了6个数据表文件,它们的结构及其说明如下:

(一)用户名、密码表:登入信息表.dbf 字段 1 2 3

字段名称 ID Username password

类型

字段大小

说明 用户的ID 登录的名字 用户的密码

自动编号 长整形 文本型 文本型

50 40

(二)供应商基本信息表---供应商.dbf 字段 1 2 3 4 5 6 7 8

字段名称

类型

字段大小 说明 15 50 50 50 50 50 15 12

供应商的编号 供应商公司名称 供应商联系人姓名 供应商公司地址 供应商公司所在城市 供应商公司所在

供应商公司所在城市邮政编码 供应商公司电话

供应商编号 文本型 公司名称

文本型

联系人姓名 文本型 公司地址 所在城市 所在地区 邮政编码 电话号码

文本型 文本型 文本型 数字型 文本型

9 传真号码 数字型 15 供应商公司传真号码 10 公司主页 超链接 供应商公司的Internet主页 11

备注

文本型

60

对供应商的详细说明

(三)顾客信息表 字段 1 2 3

字段名称 顾客编号 顾客姓名 顾客地址

类型 数字型 文本型 文本型

字段大小 说明 15 10 50

顾客的编号 顾客的姓名 顾客姓名

12

4 顾客电话 数字型 15 顾客电话

5 备注 文本型 50 对顾客的进一步说明 (四)进货信息表 字段

字段名称

类型 字段大小 说明

1 进货信息编号 数字 15 对每次进货的编号 2 供应商编号 数字 15 商品的供应商编号 3 供应商名称 4 商品编号 5 商品规格 6 计量单位 7 商品数量 8 商品单价 9 商品总价 10 进货日期 11 备注信息 (五)商品信息表 字段

字段名称

1 商品编号 2 商品名称 3 商品规格 4 计量单位 5 备注信息 (六)销售信息表 字段

字段名称

1 销售信息编号 2 顾客编号 3 商品编号 4 商品名称 5 商品规格 6 计量单位 7 商品数量 数字 15 商品的供应商名称 数字 15 进货的商品编号 文本 50 商品规格 文本 5 商品的计量单位 数字 15 进货的商品数量 数字 15 进货的商品单价 货币 15 进货的商品总价 日期/时间 短日期 进货日期

备注 进货的进一步说明 类型 字段大小 说明

数字 15 商品编号 文本 50 商品名称 文本 50 商品规格说明 文本 10 商品的计量单位 文本 50 对商品的详细说明 类型

字段大小

说明

数字 15 销售信息编号 数字 15 购买商品的顾客编号 数字 15 销售的商品的编号 文本 50 销售的商品名称 文本 50 商品规格 文本 10 商品的计量单位 数字 15 销售的商品数量13

8 商品单价 货币 货币 销售的商品单价 9 进货日期 日期/时间 日期 商品的进货时间 10 折扣 数字 长整形 商品的折扣信息 11 备注信息 备注 销售的详细信息

3、 系统实施

3.1 登录模块及主界面设计

用户要使用本系统,首先必须通过系统的身份认证。登录过程需要完成以下任务: 1、根据用户名和密码判断是否可能进入系统 2、成功登录的用户将进入系统的主界面。

界面布局如图3-1所示

主要程序设计如下::

procedure Tintofrm.BitBtn1Click(Sender: TObject); begin

if edit1.Text=datamodule2.ADSid.Lookup('Username',combobox1.Text,'Password') then begin

mainfrm.Show; intofrm.Hide;

//intofrm.Visible:=false;

mainfrm.StatusBar1.Panels[0].Text:=' 操作员: '+combobox1.text; mainfrm.StatusBar1.Panels[1].Text:=' 程序设计: 信管编辑小组'; mainfrm.StatusBar1.Panels[2].Text:=' '+datetostr(now)+' '+timetostr(now);

14

end else

showmessage('用户名密码不正确 请重新输入'); end;

procedure Tintofrm.Edit1KeyPress(Sender: TObject; var Key: Char); begin

if key=char(13) then bitbtn1.SetFocus; end;

主界面的设计如图3-2所示:

主界面设计过程:

1、主菜单的设计是在“菜单编辑器”中完成的。共设置了六个主菜单,也就是本系统的三个模块。每个主菜单下都有其对应的子菜单,分别完成系统的不同功能。

2、工具栏为用户提供了对于应用程序中最常用的菜单命令的快捷访问方式。它位于菜单栏下方,有许多命令组成,每个命令按钮上都设置了一个形象的小图标,以标示命令按钮功能。工具栏主要有ToolBar控件和ImageList控件共同设计完成。 3.2信息管理模块设计 3.2.1供应商管理界面的设计

供应商管理界面的设计如图3-3所示:

15

主要程序设计如下:

procedure TsupplyFrm.ToolButton1Click(Sender: TObject); begin

if (edit1.Text='')or(edit2.Text='')or(edit3.Text='')or(edit4.Text='') then showmessage('Data is not enough!') else begin

with datamodule2.ADSsupplyms do begin insert;

FieldByName('供应商编号').AsString:=edit1.Text; FieldByName('联系人姓名').AsString:=edit2.Text; FieldByName('电话号码').AsString:=edit3.Text; FieldByName('邮政编码').AsString:=edit4.Text; FieldByName('传真号码').AsString:=edit5.Text; FieldByName('公司名称').AsString:=edit6.Text; FieldByName('公司地址').AsString:=edit7.Text; FieldByName('公司主页').AsString:=edit8.Text; FieldByName('所在城市').AsString:=edit9.Text; FieldByName('所在地区').AsString:=edit10.Text; FieldByName('备注信息').AsString:=memo1.Lines.Text;

16

post; refresh; end end; end;

procedure TsupplyFrm.ToolButton2Click(Sender: TObject); begin

if (edit1.Text='')or(edit2.Text='')or(edit3.Text='')or(edit4.Text='') then showmessage('Data is not enough!') else begin

with datamodule2.ADSsupplyms do begin edit;

FieldByName('供应商编号').AsString:=edit1.Text; FieldByName('联系人姓名').AsString:=edit2.Text; FieldByName('电话号码').AsString:=edit3.Text; FieldByName('邮政编码').AsString:=edit4.Text; FieldByName('传真号码').AsString:=edit5.Text; FieldByName('公司名称').AsString:=edit6.Text; FieldByName('公司地址').AsString:=edit7.Text; FieldByName('公司主页').AsString:=edit8.Text; FieldByName('所在城市').AsString:=edit9.Text; FieldByName('所在地区').AsString:=edit10.Text; FieldByName('备注信息').AsString:=memo1.Lines.Text; post; refresh; end end;

17

showmessage('修改成功!'); end;

procedure TsupplyFrm.ToolButton3Click(Sender: TObject); begin

if MessageDlg('确定删除吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then datamodule2.ADSsupplyms.Delete; end;

procedure TsupplyFrm.ToolButton5Click(Sender: TObject); begin

datamodule2.ADSsupplyms.Edit; datamodule2.ADSsupplyms.Post; datamodule2.ADSsupplyms.Refresh; end;

3.2.2顾客管理界面设计

18

主要设计程序与3.2.2类似. 3.2.3商品信息管理界面设计

主要程序代码与3.2.2类似 3.2.4进货管理界面设计

19

主要程序代码如下:

procedure Tstockmana.state(sta: boolean); begin

if sta then begin

toolbutton5.Enabled:=false; toolbutton6.Enabled:=false;

dbcombobox1.Items.Add(dbcombobox1.Text); dbcombobox1.ReadOnly:=true; dbcombobox2.ReadOnly:=true; dbedit4.ReadOnly:=true; dbedit5.ReadOnly:=true; dbedit6.ReadOnly:=true; dbedit7.ReadOnly:=true; dbedit8.ReadOnly:=true; dbedit1.ReadOnly:=true; dbedit2.ReadOnly:=true; dbedit3.ReadOnly:=true; dbmemo1.ReadOnly:=true; end else begin

dbcombobox1.ReadOnly:=false; dbcombobox2.ReadOnly:=false; dbedit4.ReadOnly:=false; dbedit5.ReadOnly:=false; dbedit6.ReadOnly:=false; dbedit7.ReadOnly:=false; dbedit8.ReadOnly:=false; dbedit1.ReadOnly:=false; dbedit2.ReadOnly:=false;

20

dbedit3.ReadOnly:=false; dbmemo1.ReadOnly:=false; toolbutton5.Enabled:=true; toolbutton6.Enabled:=true; end; end;

procedure Tstockmana.ToolButton1Click(Sender: TObject); var

serial:integer; begin

state(false);

serial:=datamodule1.ADOQryIn.RecordCount; datamodule1.ADOQryIn.Append;

datamodule1.ADOQryIn['进货信息编号']:=serial+1; datamodule1.ADOQryIn.Insert; toolbutton1.Enabled:=false; toolbutton2.Enabled:=false; toolbutton3.Enabled:=false; toolbutton5.Enabled:=true; toolbutton6.Enabled:=true; end;

procedure Tstockmana.ToolButton5Click(Sender: TObject); begin

datamodule1.ADOQryIn.Edit; datamodule1.ADOQryIn.Post; toolbutton1.Enabled:=true; toolbutton2.Enabled:=true; toolbutton3.Enabled:=true;

21

toolbutton5.Enabled:=false; toolbutton6.Enabled:=false; end;

procedure Tstockmana.ToolButton2Click(Sender: TObject); begin

datamodule1.ADOQryIn.Edit; state(false);

toolbutton1.Enabled:=false; toolbutton2.Enabled:=false; toolbutton3.Enabled:=false; toolbutton5.Enabled:=true; toolbutton6.Enabled:=true; datamodule1.ADOQryIn.Post; datamodule1.ADOQryIn.Refresh; end;

procedure Tstockmana.ToolButton3Click(Sender: TObject); begin

toolbutton1.Enabled:=true; toolbutton2.Enabled:=true; toolbutton3.Enabled:=true; toolbutton5.Enabled:=false; toolbutton6.Enabled:=false;

if MessageDlg('Do you realy to delete the record?', mtInformation, [mbOk,mbCancel], 0)=mrok then begin

datamodule1.ADOQryIn.Delete; datamodule1.ADOQryIn.Post; end else

22

state(true); end;

procedure Tstockmana.ToolButton6Click(Sender: TObject); begin

datamodule1.ADOQryIn.Cancel; state(true);

toolbutton1.Enabled:=true; toolbutton2.Enabled:=true; toolbutton3.Enabled:=true; toolbutton5.Enabled:=false; toolbutton6.Enabled:=false; end;

procedure Tstockmana.ToolButton8Click(Sender: TObject); begin

stockmana.Close; end;

procedure Tstockmana.FormCreate(Sender: TObject); var sta:boolean; begin sta:=true; state(sta); end;

3.2.5 销售管理界面设计:

23

3.3数据查询模块设计

24

3.3.1供应商查询界面设计:

主要程序代码设计:

procedure TPriSch.ToolButton1Click(Sender: TObject); var a:string; begin

if checkbox1.Checked=true then with datamodule1.ADOQryPriSch do begin sql.Clear;

sql.Text:='select * from 供应商信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 供应商编号 like '+'''NS%''';open;end;

if edit3.Text<>'' then begin

25

sql.Text:=a+' where '+'供应商名称 like '+'''上海%'''+' or '+'供应商名称 like '+'''北京%'''+'or'+'供应商名称 like '+'''厦门%'''; open; end;

if edit4.Text<>'' then begin

sql.Text:=a+' where '+'所在城市 like '+'''上%'''+' or '+'所在城市 like '+'''北'''+ ' or '+'所在城市 like '+'''厦'''; open; end;

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryPriSch.RecordCount); end else

with datamodule1.ADOQryPriSch do begin sql.Clear;

sql.Text:='select * from 供应商信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 供应商编号='+quotedstr(edit2.Text);open; end;

if edit3.Text<>'' then begin sql.Text:=a+' where 供应商名称='+quotedstr(edit3.Text);open; end;

if edit4.Text<>'' then begin sql.Text:=a+' where 所在城市='+quotedstr(edit4.Text);open;end;

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryPriSch.RecordCount);

end;

26

3.3.2顾客查询界面设计:

主要程序代码如下:

procedure TCusSch.ToolButton1Click(Sender: TObject); var a:string; begin

if checkbox1.Checked=true then with datamodule1.ADOQryCusSch do begin sql.Clear;

sql.Text:='select * from 顾客信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 顾客编号 like '+'''GK%''';open;end;

if edit3.Text<>'' then begin

sql.Text:=a+' where '+'公司名称 like '+'''上海%'''+' or '+'公司名称 like '+'''北京%''';

27

open; end;

if edit4.Text<>'' then begin

sql.Text:=a+' where '+'所在城市 like '+'''上%'''+' or '+'所在城市 like '+'''北'''; open; end;

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryCusSch.RecordCount); end else

with datamodule1.ADOQryCusSch do begin sql.Clear;

sql.Text:='select * from 供应商信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 供应商编号='+quotedstr(edit2.Text);open; end;

if edit3.Text<>'' then begin sql.Text:=a+' where 供应商名称='+quotedstr(edit3.Text);open; end;

if edit4.Text<>'' then begin sql.Text:=a+' where 所在城市='+quotedstr(edit4.Text);open;end;

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryCusSch.RecordCount);

end; end;

3.3.3商品查询界面设计:

28

主要程序代码如下:

rocedure TMerSch.ToolButton1Click(Sender: TObject); var a:string; begin

if checkbox1.Checked=true then with datamodule1.ADOQryMerSch do begin sql.Clear;

sql.Text:='select * from 商品信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 商品编号 like '+'''%S%''';open;end;

if edit3.Text<>'' then begin

sql.Text:=a+' where '+'商品名称 like '+'''商%'''+' or '+'公司名称 like '+'''%型%'''; open; end;

29

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryMerSch.RecordCount); end else

with datamodule1.ADOQryMerSch do begin sql.Clear;

sql.Text:='select * from 商品信息'; a:=sql.Text;

if edit2.Text<>'' then begin sql.Text:=a+' where 商品编号='+quotedstr(edit2.Text);open; end;

if edit3.Text<>'' then begin sql.Text:=a+' where 商品名称='+quotedstr(edit3.Text);open; end;

edit1.Text:=edit1.Text+inttostr(datamodule1.ADOQryMerSch.RecordCount);

end; end;

3.3.4 进货查询界面设计:

30

主要程序设计如下:

procedure Tinfindfrm.ToolButton1Click(Sender: TObject); var i,count:integer; begin

if edit1.Text<>'' then begin

datamodule2.ADSinfind.Filter:='供应商编号='+''''+edit1.Text+''''; datamodule2.ADSinfind.Filtered:=true; datamodule2.ADSinfind.Open; end

{ else if edit2.Text<>'' then begin

datamodule1.ADSinfind.Filter:='商品编号='+edit2.Text; datamodule1.ADSinfind.Filtered:=true; datamodule1.ADSinfind.Open; end }

else if edit3.Text<>'' then begin

datamodule2.ADSinfind.Filter:='公司名称='+''''+edit3.Text+''''; datamodule2.ADSinfind.Filtered:=true; datamodule2.ADSinfind.Open; end

{ else if edit4.Text<>'' then begin

datamodule1.ADSinfind.Filter:='商品名称='+edit4.Text; datamodule1.ADSinfind.Filtered:=true; datamodule1.ADSinfind.Open; end }

else showmessage('No data put in!'); count:=0;

for i:=0 to datamodule2.ADSinfind.RecordCount-1 do

31

count:=count+1;

label9.Caption:=inttostr(count); end;

3.3.5 销售查询界面设计:

主要程序代码设计:

procedure Tsalefindfrm.ToolButton1Click(Sender: TObject); var i,count:integer; begin

if edit1.Text<>'' then begin

datamodule2.ADSsalefind.Filter:='顾客编号='+''''+edit1.Text+''''; datamodule2.ADSsalefind.Filtered:=true; datamodule2.ADSsalefind.Open; end

else if edit2.Text<>'' then begin

datamodule2.ADSsalefind.Filter:='商品编号='+''''+edit2.Text+''''; datamodule2.ADSsalefind.Filtered:=true;

32

datamodule2.ADSsalefind.Open; end

else if edit3.Text<>'' then begin

datamodule2.ADSsalefind.Filter:='顾

='+''''+edit3.Text+'''';

datamodule2.ADSsalefind.Filtered:=true; datamodule2.ADSsalefind.Open; end

else if edit4.Text<>'' then begin

datamodule2.ADSsalefind.Filter:='商

='+''''+edit4.Text+'''';

datamodule2.ADSsalefind.Filtered:=true; datamodule2.ADSsalefind.Open; end

else showmessage('No data put in!'); count:=0;

for i:=0 to datamodule2.ADSsalefind.RecordCount-1 do count:=count+1;

label9.Caption:=inttostr(count); end;

3.3.6 管理员信息设置界面:

33

主要程序设计:

procedure Tmanagerfrm.SpeedButton1Click(Sender: TObject); begin

with datamodule2 do begin

if ADSid.Locate('username',edit1.Text,[loPartialKey]) then if edit2.Text=ADSid.Lookup('username',edit1.Text,'password') then begin

with ADSid do begin ADSid.Edit;

if edit3.Text=edit4.Text then begin

fieldbyname('password').AsString:=edit3.Text; ADSid.Post ; ADSid.Refresh;

showmessage('密码修改成功!')

34

end

else showmessage('确认错误!'); end; //with end//if

else showmessage('密码输入错误!'); end;//with edit2.Text:=''; edit3.Text:=''; edit4.Text:=''; managerfrm.Close; end;

procedure Tmanagerfrm.SpeedButton2Click(Sender: TObject); begin

edit2.Visible:=false; edit4.Visible:=false; label2.Visible:=false; label4.Visible:=false; groupbox1.Caption:='用户注册'; speedbutton1.Visible:=false; speedbutton2.Visible:=false; bitbtn1.Visible:=true; bitbtn2.Visible:=true;

35

end;

procedure Tmanagerfrm.BitBtn1Click(Sender: TObject); begin

with datamodule2.ADSid do begin

insert;

FieldByName('username').AsString:=edit1.Text; FieldByName('password').AsString:=edit3.Text; post; refresh; end;

showmessage('注册成功!'); edit2.Visible:=true; edit4.Visible:=true; label2.Visible:=true; label4.Visible:=true;

groupbox1.Caption:='密码修改'; speedbutton1.Visible:=true; speedbutton2.Visible:=true; edit1.Text:=''; edit3.Text:='';

bitbtn1.Visible:=false; bitbtn2.Visible:=false; managerfrm.Close; end;

36

三、课程设计总结或结论

本系统的开发是以Borland公司的Delphi 7.0作为开发工具,结合Access数据库完成的。系统的目标是让领导者清楚掌握工厂和客户中的详细情况,以便在选择供应商

和商品客户时更合理,解决贸易公司信息不对等的问题。

本系统在开发过程中,尝试着包括运用DataCtrl控件、ADO控件以及ADO对象在内的多种数据库连接技术,最终运用ADO对象与ADO控件相结合的方法,解决了Dephi 7.0 与Access数据库的连接。在系统开发的最后阶段,不断测试和调试系统,总结系统中存在的问题,最终在老师和同学的帮助下,完成整个系统的开发过程。

尽管系统已经开发完成,但由于经验不足和对实际生产生活不熟悉,在系统中仍然存在着许多的问题,还不能满足实际需求,需要在功能方面继续完善。

设计过程中,小组成员积极配合,商量软件各方面存在的问题,并认真改正不好的地方,最终完成了本次课程设计的任务,增强了小组间的凝聚力。

37

四、参考文献

[1] 李春葆,曾平.数据库原理与应用[M].北京:清华大学出版社,2005 [2] 高英.Access 数据库应用系统开发与实例[M].北京:人民邮电出版社,2006 [3] 郑阿奇. Dephi实用教程 [M].北京.电子工业出版社 ,2004

[4] 萨师煊,王珊.数据库系统概论[M].第三版.北京:高等教育出版社,2000 [5] 王珍玲.实用软件工程教程[M].北京:高等教育出版社,2004

[6] 张建东.国际贸易[M].北京.清华大学出版社,北京交通大学出版社,2006

38

五、小组成员分工说明:

系统分析:童成思

系统编程:韦宗添 撰写报告:鲍 亮

39

因篇幅问题不能全部显示,请点此查看更多更全内容

Top