数据库课程设计报告 (销售管理)

更新时间:2024-06-17 11:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计 课程名称: 数 据 库 原 理 课题名称: 销售管理系统 班 级: 计算机学院08-3BJ班 完 成 人: 叶尔祥 (14082400560) (组长) 刘志平 (14082400557) 郭世昆 (14082402726) 甘 霞 (14082400607) 蒋序东 (14082400599) 指导教师: 胡 虚 怀 湖南理工学院计算机学院 2011年 1月 3日 目 录

绪论.............................................................................................................................. 2

1.1课题背景 ............................................................................................................... 2 1.2系统开发相关技术介绍 .......................................................................................... 2

一、设计目的................................................................................................................ 3 二、系统功能分析........................................................................................................ 3

2.1系统的功能需求..................................................................................................... 3 2.2功能模块 ............................................................................................................... 4

三、数据库设计............................................................................................................ 4

3.1数据库的建立 ........................................................................................................ 4 3.2数据库的数据字典 ................................................................................................. 5 3.3数据库的逻辑结构…………………………………………………………………………6 3.4数据库的概念结构(E-R图)………………………………………………………….10

四、系统的程序设计与实现…………………………………………………………13

4.1登陆模块……………………………………………………………………………………14 4.2管理模块……………………………………………………………………………………18 4.3采购模块……………………………………………………………………………………21 4.4销售模块……………………………………………………………………………………31 4.5改密模块……………………………………………………………………………………40 4.6数据库连接技术……………………………………………………………………………42

五、系统的运行结果与分析………………………………………………………… .42 六、附录……………………………………………………………………………….47

6.1数据库源程序……………………………………………………………………………….47 6.2数据库脚本程序…………………………………………………………………………….47

小组成员分工情况说明……………………………………………………………….49 七、课程设计总结…………………………………………………………………… 50 八、参考文献………………………………………………………………………… 50

- 1 -

绪论

1.1课题背景

随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有效地管理和控制,对这些企业来说是非常重要。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。

1.2系统开发相关技术介绍

本系统相关开发的技术有两种,利用专门的数据库编程工具:SQL SERVER;另一种方法是:利用常规的程序语言编写:C#。

- 2 -

一、设计目的

基于Microsoft SQL Server 2008数据库并以visual studio 2010编程环境C#语言设计的实用销售管理系统

二、系统的功能分析

2.1 系统的功能需求:

在信息技术的催化之下,世界经济的变革已经进入了加速状态。世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是商品销售公司乃至众多商业企业梦寐以求的愿望。

随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

1)经济上可行性分析

现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高企业的工作效率;

本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现。因此在经济上是可行的。

2)技术上可行性分析 a) 软件可行性

C#具有丰富的数据库功能,可以直接建立和编辑数据库,使用结构化查询语言直接访问SQL Sever上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术。

SQL Sever 2008是由微软公司推出的,能提供超大型系统所需的数据库服务,并对数据库提供全面的保护,具有防止问题发生的安全措施,他是一个采用SQL语言的关系型数据库管理系统。作为客户机/服务器的后端数据库,他是所有数据的汇总和管理中心。

附:软件环境

操作系统:Windows 7 中文旗舰版 数据库:Microsoft SQL Server 2008

开发平台:Microsoft visual studio 2010 b) 硬件可行性

本系统的开发利用Microsoft SQL Server 2008作为本系统的数据库,它是一个支持多用户的新型数据库。

使用C#作为系统开发的开发环境,此开发工具开发数据库管理系统,采用面向对象的方式,方便、简捷、功能强大。

附:硬件环境

处 理 器:AMD Athlon(速龙) 64 X2 双核 5200+ 硬 盘:320GB 内 存:2G

显示器:瀚视奇 HSD5A47 Hanns.G HW173 ( 17.2 英寸 )

- 3 -

2.2功能模块 商品采购 增加已有产品 销售统计 信息统计 入库统计 采供查询 信息查询 销售查询 信息修改 价格,商品调整 用户,密码 入库 商品入库 出库 添加销售信息 商品销售 减少仓库数量 新产品数量 销 售 管 理 系 统 三、数据库设计

3.1.数据库的建立

数据库的设计尽量的实现与应用程序做到最低等级的耦合,按照三层模式两级联系的方式设计数据库,把数据库设计成层次清晰的,高效的,实用数据库。在该系统的数据库设计方面,把数据库的设计分为四层:基本表,视图,包,存储过程。其中视图作为联系存储过程与基本表的桥梁必须进行认真的设计,在最外层,包中包含存储过程要用到的一些信息,也可以认为包和存储过程是处于相同的层次,不将存储过程放置在包中,是考虑到对进行数据库基本表、视图以及功能型的存储过程扩展的时候应尽量避免和减少对系统的层次模型的影响。以降低产生错误的可能。但在数据库设计已经相对稳定的情况下,可以将存储过程置于包中,由于这是第一次使用SQL SERVER开发系统,兼顾上面的原因,而采用了包与存储过程分离的方式。

因为该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。而在该课程设计的内容定义方面,保证了数据的独立性,该系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。

我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此

- 4 -

时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。 3.2.数据库的数据字典:

销售管理系统,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流,数据存储和处理过程进行说明。 (1) 主要数据流定义

1)员工情况 位置:员工

定义: 员工情况=姓名+性别+出生日期+民族+学历+职称 。 数据流向:根据公司的具体情况来确定。 说明:要对每一位员工进行唯一编号。 2) 管理员情况

位置:用户

定义: 用户身份=员工编号。

数据流量:根据公司的具体情况来确定。 说明:要对每一位管理员建立唯一的账号 3)销售情况

位置:销售表

定义:销售=各个商品的单价×数目 数据流量:从库存向客户

说明:销售金额会计算到销售员里 4)采购情况

位置:采购

定义:采购=各个商品的数目+各个商品的总价 数据流向:从客户到库存

说明:采购信息会被存储在采购员的表里 5)库存情况 位置:仓库

定义:库存=各个商品的单价和数量 数据流向:从库存到销售

说明:库存必须和采购的商品一样 6)管理

位置:用户

定义:管理员管理员工

数据流向:从管理者到职工

说明:管理员能看到销售员和采供员看不到的信息 7)购买

位置 :销售表

定义:客户可以买销售员的商品 数据流向:从销售员到客户

(2) 数据存储

1)数据存储:销售记录

数据量和存取频度:根据公司的具体规模情况来确定。

- 5 -

存取方式:联机处理;检索和更新;以更新操作为主。 2)数据结构:采购记录

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 3)数据结构:供货记录

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

4) 数据结构:库存记录

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 (3) 处理过程 1)销售过程

输入:商品单价,商品数目

输出:商品总价以及对应客户名单

处理说明:根据员工的销售记录销售的时间和总价录入销售表 2)采购过程

输入:采购商品的编号,数量和品牌,以及采购的供应商 输出:采购所需要的价格和采购的时间

处理说明:根据员工的采购记录,将采购商品的价格和供应商录入订单表

3.3.数据库的逻辑结构(数据库中的表的结构及定义)

商品表 名称 商品编号 商品名 商品类别 出售低价 库存表 名称 商品编号 库存量

- 6 -

数据类型 Char Char char decimal 大小 15 30 30 (10,1) 约束 Primary key() not null 数据类型 Char Int 大小 15 约束 外码foreign key 供货商表 名称 供货商编号 公司名 联系人姓名 联系电话 邮箱 地址 客户表 名称 销售员编号 姓名 联系电话 邮箱 地址

采购员工表 名称 采购员编号 姓名 联系电话 邮箱 地址

销售员工表 名称 销售员编号 姓名 联系电话 邮箱 地址

数据类型 Char Char Char Char Char Char 大小 15 15 15 15 30 30 约束 主码(primary key) Not null 数据类型 Char Char Char Char Char 大小 15 15 15 30 30 约束 主码(primary key) Not null 数据类型 Char Char Char Char Char 大小 15 15 15 30 30 约束 主码(primary key) Not null 数据类型 Char Char Char Char Char 大小 15 15 15 30 30 - 7 -

约束 主码(primary key) Not null 采购表 名称 商品编号 采购员编号 供货商编号 采购数量 进货价 采购日期 销售表 名称 客户编号 销售编号 商品编号 出售日期 出售量 出售单价 利润表 名称 商品编号 成本价 实际售价 用户表 名称 权限编号 用户名 密码

- 8 -

数据类型 Char Char Char Int Decimal Smalldatetime 大小 15 15 15 (10,1) 约束 外码foreign key 外码foreign key 数据类型 Char Char Char Smalldatetime Int Decimal 大小 15 15 15 (10,1) 约束 外码foreign key 外码foreign key 数据类型 Char Decimal Decimal 大小 15 (10,1) (10,1) 约束 外码foreign key 数据类型 char Char Char 大小 15 15 20 约束 附录:表数据单

采购表

采购表

供货商表

客户表

- 9 -

库存表

销售表

3.4.数据库的概念结构(E-R图):

(通过Microsoft Office Visio 2007反向工程生成)

- 10 -

SQL表关系图

SQL脚本

create table 商品 (

商品编号 char(15) primary key, 商品名 char(30) not null, 商品类别 char(30), 出售低价 decimal (10 ,1), )

create table 库存 (

商品编号 char(15), 库存量 int,

foreign key (商品编号) references 商品(商品编号), )

create table 供货商 (

供货商编号 char(15) primary key, 公司名 char(15) not null ,

- 11 -

联系人姓名 char(15), 联系电话 char(15), 邮箱 char(30), 地址 char(30), )

create table 客户 (

客户编号 char(15) primary key , 客户姓名 char(15) not null, 联系电话 char(15), 邮箱 char(30), 地址 char(30), )

create table 采购员工 (

采购员编号 char(15) primary key, 姓名 char(15) not null, 联系电话 char(15), 邮箱 char(30), 地址 char(30), )

create table 销售员工 (

销售员编号 char(15) primary key, 姓名 char(15) not null , 联系电话 char(15), 邮箱 char(30), 地址 char(30), )

create table 采购 (

商品编号 char(15) , 采购员编号 char(15) , 供货商编号 char(15) , 采购数量 int , 进货价 decimal (10 ,1) , 采购日期 smalldatetime ,

foreign key (商品编号) references 商品(商品编号),

foreign key (采购员编号) references 采购员工(采购员编号), )

- 12 -

create table 销售 (

客户编号 char(15) , 销售员编号 char(15) , 商品编号 char(15) , 销售日期 smalldatetime , 销售量 int , 出售单价 decimal (10 ,1) ,

foreign key (商品编号) references 商品(商品编号),

foreign key (销售员编号) references 销售员工(销售员编号), )

create table 利润 (

商品编号 char(15) , 成本价 decimal (10 ,1) , 实际售价 decimal (10 ,1) ,

foreign key (商品编号) references 商品(商品编号), )

create table 用户 (

权限编号 char(15), 用户名 char(15), 密码 char(20), )

四、系统的程序设计与实现

必须包括:

系统的运行环境 硬件环境

处 理 器:AMD Athlon(速龙) 64 X2 双核 5200+ 硬 盘:320GB 内 存:2G

显示器:瀚视奇 HSD5A47 Hanns.G HW173 ( 17.2 英寸 )

软件环境

操作系统:Windows 7 中文旗舰版 数据库:Microsoft SQL Server 2008 开发平台:Microsoft visual studio 2010

- 13 -

开发环境

Microsoft visual studio 2010 集成开发环境

C#语言

系统的详细设计

(包括模块之间的关系,模块的功能、数据库的连接技术的实现、主要功能实现的程序段说明等) 模块之间的关系

管理模块 采购模块 销售模块 数据库 改密模块 选择登陆 登陆模块 选择改密 数据库 4.1、登陆模块

1 通过“改密”按钮进入“密码修改”窗体 ○

2 通过“登陆”按钮进入“3个管理系统”窗体 ○

登陆选择关键代码:

bool bcon = false;

SqlConnection conn = null; string comdstr = \

SqlCommand mycomand = null; SqlDataReader dr = null;

- 14 -

try {

conn = new SqlConnection(Resource1.String1);

comdstr = \姓名,密码,职称,编号 from 员工\ mycomand = new SqlCommand(comdstr, conn); conn.Open();

dr = mycomand.ExecuteReader(); while (dr.Read()) {

if (dr[0].ToString().Trim(' ') == ntBx.Text) {

if (dr[1].ToString().Trim(' ') == ptBx.Text) {

bcon = true; break; } } }

if (bcon) {

if (dr[2].ToString().Trim(' ') == \管理员\ {

MForm mForm = new MForm(); this.Hide();

mForm.label1.Text = dr[0].ToString(); mForm.label2.Text = dr[3].ToString(); mForm.ShowDialog(); this.Close(); }

else if (dr[2].ToString().Trim(' ') == \销售员\ {

采购 sForm = new 采购();

sForm.label6.Text = dr[0].ToString(); sForm.label7.Text = dr[3].ToString(); this.Hide();

sForm.ShowDialog();

this.Close(); }

else if (dr[2].ToString().Trim(' ') == \采购员\ {

BForm bForm = new BForm(); this.Hide();

- 15 -

bForm.label6.Text = dr[0].ToString(); bForm.label7.Text = dr[3].ToString(); bForm.ShowDialog(); this.Close(); }

else {

MessageBox.Show(\密码错误,请重新输入\ } }

else

{

MessageBox.Show(\密码错误,请重新输入\ } }

finally

{

conn.Close(); }

改密选择关键代码:

SqlConnection conn = null; string comdstr = \

SqlCommand mycomand = null; SqlDataReader dr = null; try {

bool ft = false;

conn = new SqlConnection(Resource1.String1); comdstr = \姓名,密码,职称 from 员工\ mycomand = new SqlCommand(comdstr, conn); conn.Open();

dr = mycomand.ExecuteReader(); while (dr.Read()) {

if (dr[0].ToString().Trim(' ') == ntBx.Text) {

if (dr[1].ToString().Trim(' ') == ptBx.Text) {

ft = true; break;

- 16 -

} }

}

if (ft) {

gaimi GM = new gaimi(); GM.label4.Text = dr[2].ToString(); this.Hide(); GM.ShowDialog(); this.Close(); }

else {

MessageBox.Show(\你输入的用户名或密码错误,请重新输入\ } }

finally {

conn.Close(); }

- 17 -

4.2、管理模块

1.库存查询

2.员工信息查询 3.订单查询

4.客户信息查询 5.供货商信息查询

关键代码: //库存量查询

comdstr = \商品名称,库存量,单价 from 库存\ mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader(); listView2.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString()); item.SubItems.Add(dr[2].ToString()); listView2.Items.Add(item); }

//员工信息查询

comdstr = \编号,姓名,电话,手机,邮箱,地址,职称,基本工资,密码 from

- 18 -

员工\

mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader(); listView1.Items.Clear(); while (dr.Read())

{

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString().Trim(' ')); item.SubItems.Add(dr[3].ToString().Trim(' ')); item.SubItems.Add(dr[4].ToString().Trim(' ')); item.SubItems.Add(dr[5].ToString().Trim(' ')); item.SubItems.Add(dr[6].ToString().Trim(' ')); item.SubItems.Add(dr[7].ToString().Trim(' '));

item.SubItems.Add(dr[8].ToString().Trim(' ')); listView1.Items.Add(item);

} //订单查询

//1. comdstr = \客户姓名,商品名称,销售量,销售单价,账单编号,销售日期

from 销售\

mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader(); listView3.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[4].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString()); item.SubItems.Add(dr[3].ToString());

item.SubItems.Add(dr[0].ToString().Trim(' '));

item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString()

+ \ + \ listView3.Items.Add(item); } //2.

comdstr = \账单编号,名称,进货数量,单价,供货商姓名,进货日期 from 采购\ mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader();

- 19 -

listView8.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString()); item.SubItems.Add(dr[3].ToString()); }

//客户信息查看

item.SubItems.Add(dr[4].ToString().Trim(' '));

item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString() + \ + \listView8.Items.Add(item); comdstr = \客户姓名,联系手机,联系电话,\

+ \邮箱,地址,结余,公司名称,上次联系时间 from 客户\ mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader(); listView6.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString().Trim(' ')); item.SubItems.Add(dr[3].ToString().Trim(' ')); item.SubItems.Add(dr[4].ToString().Trim(' ')); item.SubItems.Add(dr[5].ToString()); item.SubItems.Add(dr[6].ToString().Trim(' ')); item.SubItems.Add(dr[7].ToString()); listView6.Items.Add(item); }//供货商查询

comdstr = \姓名,电话,手机,\

+ \邮箱,地址,结余,公司名称 from 供货商\ mycomand = new SqlCommand(comdstr, con); con.Open();

dr = mycomand.ExecuteReader(); listView5.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' '));

- 20 -

item.SubItems.Add(dr[2].ToString().Trim(' ')); item.SubItems.Add(dr[3].ToString().Trim(' ')); item.SubItems.Add(dr[4].ToString().Trim(' ')); item.SubItems.Add(dr[5].ToString()); item.SubItems.Add(dr[6].ToString().Trim(' ')); listView5.Items.Add(item); }

4.3、采购模块

1.库存查询 2.采购单查询 3.供货商查询

4.修改、删除采购单

- 21 -

conn = new SqlConnection(Resource1.String1);

comdstr = \账单编号,名称,进货数量,单价,供货商姓名,进货日期 from

采购\

mycomand = new SqlCommand(comdstr, conn); conn.Open();

dr = mycomand.ExecuteReader(); listView4.Items.Clear(); while (dr.Read()) {

try {

chaxun = (textBox3.Text.Trim(' ') == \

== dr[4].ToString().Trim(' ')) && (textBox4.Text.Trim(' ') == \

dr[0].ToString().Trim(' ')) && (textBox7.Text.Trim(' ') == \

DateTime.Parse(dr[5].ToString()).Year.ToString()) && (textBox6.Text.Trim(' ') == \ DateTime.Parse(dr[5].ToString()).Month.ToString())

&& (textBox8.Text.Trim(' ') == \

DateTime.Parse(dr[5].ToString()).Day.ToString());

}

catch (Exception ex) {

MessageBox.Show(\请输入正确的日期\ } if (chaxun)

{

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString()); item.SubItems.Add(dr[3].ToString());

item.SubItems.Add(dr[4].ToString().Trim(' '));

item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString()

+\DateTime.Parse(dr[5].ToString()).Month.ToString()+ \DateTime.Parse(dr[5].ToString()).Day.ToString());

listView4.Items.Add(item); zhaodao = false; } }

if (zhaodao)

{

MessageBox.Show(\该账单不存在,请检查输入是否正确\

- 22 -

+

} }

finally {

conn.Close(); } }

private void button1_Click(object sender, EventArgs e) {

if (!(textBox1.Text.Trim(' ')!=\ textBox2.Text.Trim(' ') !=\ textBox5.Text.Trim(' ')!=\ {

MessageBox.Show(\请先输入\ goto end; }

DateTime dt = new DateTime(System.DateTime.Today.Year, System.DateTime.Today.Month, System.DateTime.

Today.Day, System.DateTime.Now.Hour,

System.DateTime.Now.Minute, System.DateTime.Now.Second);

bool fin = false; int i = 0;

foreach (ListViewItem item in listView4.Items) {

if (textBox1.Text == item.SubItems[1].Text) {

fin = true; break; } i++; } if (fin) {

listView4.Items[i].SubItems[2].Text = textBox2.Text; listView4.Items[i].SubItems[3].Text = textBox5.Text; } else {

if (listView4.Items.Count != 0) {

- 23 -

ListViewItemitem = new ListViewItem(listView4.Items[0].SubItems[0].Text); item.SubItems.Add(textBox1.Text);

item.SubItems.Add(textBox2.Text); item.SubItems.Add(textBox5.Text);

item.SubItems.Add(listView4.Items[0].SubItems[4].Text); item.SubItems.Add(listView4.Items[0].SubItems[5].Text);

listView4.Items.Add(item); } else { try

{

ListViewItem item = new ListViewItem(dt.Year.ToString() +dt.Month.ToString().PadLeft(2,'0')+

dt.Day.ToString().PadLeft(2,'0')+dt.Hour.ToString().PadLeft(2,'0')+ dt.Minute.ToString().PadLeft(2, '0').PadLeft(2, '0') + dt.Second.ToString().PadLeft(2, '0'));

item.SubItems.Add(textBox1.Text); item.SubItems.Add(textBox2.Text); item.SubItems.Add(textBox5.Text); item.SubItems.Add(\

item.SubItems.Add(dt.Year.ToString() + \

+ dt.Day.ToString()); listView4.Items.Add(item); }

catch (Exception ex) {

MessageBox.Show(\请先输入\ } }

} end: ; }

private void button7_Click(object sender, EventArgs e) {

if (listView4.Items.Count != 0) {

string comandstr = \

foreach (ListViewItem item in listView4.Items)

{

comandstr = \采购 ( 账单编号,名称,进货数量,单价\

- 24 -

+ \供货商姓名,采购员编号,进货日期,采购员姓名)values('\ comandstr += item.SubItems[0].Text; comandstr += \ comandstr += item.SubItems[1].Text; comandstr += \

comandstr += item.SubItems[2].Text; comandstr += \

comandstr += item.SubItems[3].Text; comandstr += \

comandstr += item.SubItems[4].Text; comandstr += \ comandstr += label7.Text; comandstr += \

comandstr += item.SubItems[5].Text; comandstr += \ comandstr += label6.Text; comandstr += \

SqlConnection conn = new SqlConnection (Resource1.String1);

SqlCommand Com = conn.CreateCommand(); try {

conn.Open();

Com.CommandText = comandstr; Com.ExecuteNonQuery(); }

catch (Exception ec)

{

MessageBox.Show(\添加失败\ goto end; }

conn.Close();

} } else

{

MessageBox.Show(\请输入账单\ }

MessageBox.Show(\添加成功\ end: ; }

- 25 -

private void BForm_Load(object sender, EventArgs e) {

SqlConnection conn = null; string comdstr = \ string comdstr1 = \

SqlCommand mycomand = null; SqlDataReader dr = null;

SqlCommand mycomand1 = null; SqlDataReader dr1 = null; try {

conn = new SqlConnection(Resource1.String1); comdstr1 = \商品名称,库存量 from 库存\ mycomand1 = new SqlCommand(comdstr1, conn); conn.Open();

dr1 = mycomand1.ExecuteReader(); listView1.Items.Clear(); while (dr1.Read())

{

ListViewItem item = new ListViewItem(dr1[0].ToString().Trim(' ')); item.SubItems.Add(dr1[1].ToString()); listView1.Items.Add(item);

}

dr1.Close();

comdstr = \姓名,电话,手机,\

+ \邮箱,地址,结余,公司名称 from 供货商\ mycomand = new SqlCommand(comdstr, conn); dr = mycomand.ExecuteReader(); listView3.Items.Clear(); while (dr.Read())

{

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString().Trim(' ')); item.SubItems.Add(dr[3].ToString().Trim(' ')); item.SubItems.Add(dr[4].ToString().Trim(' ')); item.SubItems.Add(dr[5].ToString());

item.SubItems.Add(dr[6].ToString().Trim(' ')); listView3.Items.Add(item);

} }

- 26 -

finally

{

conn.Close(); } }

private void button10_Click(object sender, EventArgs e) {

if (listView3.SelectedItems.Count != 0) {

int i = 0;

while (i < listView4.Items.Count) {

listView4.Items[i].SubItems[4].Text =

listView3.SelectedItems[0].SubItems[0].Text; i++; } }

else {

MessageBox.Show(\请选择供货商\ } }

private void button4_Click(object sender, EventArgs e)

{

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand();

try {

Commstr = \采购 where 账单编号='\ if (listView4.SelectedItems.Count != 0) {

Commstr += listView4.SelectedItems[0].SubItems[0].Text; Commstr += \名称='\

Commstr += listView4.SelectedItems[0].SubItems[1].Text; Commstr += \

Comm.CommandText = Commstr; con.Open();

Comm.ExecuteNonQuery();

listView4.Items.Remove(listView4.SelectedItems[0]);

- 27 -

}

}

finally {

con.Close(); } }

private void button8_Click(object sender, EventArgs e) {

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand(); try {

Commstr = \采购 set 进货数量=\ if (listView4.SelectedItems.Count != 0) {

Commstr += listView4.SelectedItems[0].SubItems[2].Text; Commstr += \单价=\

Commstr += listView4.SelectedItems[0].SubItems[3].Text; Commstr += \账单编号='\

Commstr += listView4.SelectedItems[0].SubItems[0].Text; Commstr += \名称='\

Commstr += listView4.SelectedItems[0].SubItems[1].Text; Commstr += \

Comm.CommandText = Commstr; con.Open();

Comm.ExecuteNonQuery(); } }

finally {

con.Close(); }

MessageBox.Show(\修改成功\ }

private void listView4_SelectedIndexChanged(object sender, EventArgs e) {

if (listView4.SelectedItems.Count != 0)

- 28 -

{

textBox1.Text = listView4.SelectedItems[0].SubItems[1].Text; textBox2.Text = listView4.SelectedItems[0].SubItems[2].Text; textBox5.Text = listView4.SelectedItems[0].SubItems[3].Text; } }

private void button2_Click(object sender, EventArgs e) {

xiugai xu = new xiugai();

if (listView3.SelectedItems.Count != 0)

{

xu.textBox1.Text = listView3.SelectedItems[0].SubItems[0].Text; xu.textBox2.Text = listView3.SelectedItems[0].SubItems[1].Text; xu.textBox3.Text = listView3.SelectedItems[0].SubItems[2].Text; xu.textBox4.Text = listView3.SelectedItems[0].SubItems[3].Text; xu.textBox5.Text = listView3.SelectedItems[0].SubItems[4].Text; xu.textBox6.Text = listView3.SelectedItems[0].SubItems[5].Text; xu.textBox7.Text = listView3.SelectedItems[0].SubItems[6].Text; listView3.Items.Remove(listView3.SelectedItems[0]); }

xu.Show();

}

private void button5_Click(object sender, EventArgs e) {

xiugai xu = new xiugai();

xu.Show(); }

private void button6_Click(object sender, EventArgs e) {

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand(); try

{

Commstr = \供货商 where 姓名='\ if (listView3.SelectedItems.Count != 0) {

Commstr += listView3.SelectedItems[0].SubItems[0].Text; Commstr += \手机='\

Commstr += listView3.SelectedItems[0].SubItems[2].Text;

- 29 -

Commstr += \

Comm.CommandText = Commstr;

con.Open();

Comm.ExecuteNonQuery();

listView3.Items.Remove(listView3.SelectedItems[0]); }

}

catch (Exception ex)

{

MessageBox.Show(\删除失败\ }

con.Close();

}

private void label6_Click(object sender, EventArgs e) { } } }

- 30 -

4.4、销售模块

1.库存查询 2.客户查询

3.添加,修改,删除订单

bool chaxun = false; bool zhaodao = true; button7.Visible = false; SqlConnection conn = null; string comdstr = \

SqlCommand mycomand = null; SqlDataReader dr = null; try {

conn = new SqlConnection(Resource1.String1);

comdstr = \账单编号,名称,进货数量,单价,供货商姓名,进货日期 from

采购\

mycomand = new SqlCommand(comdstr, conn); conn.Open();

dr = mycomand.ExecuteReader(); listView4.Items.Clear(); while (dr.Read()) {

- 31 -

try {

chaxun = (textBox3.Text.Trim(' ') == \

dr[4].ToString().Trim(' '))

&& (textBox4.Text.Trim(' ') == \

dr[0].ToString().Trim(' ')) && (textBox7.Text.Trim(' ') == \

DateTime.Parse(dr[5].ToString()).Year.ToString()) && (textBox6.Text.Trim(' ') == \

DateTime.Parse(dr[5].ToString()).Month.ToString()) && (textBox8.Text.Trim(' ') == \

DateTime.Parse(dr[5].ToString()).Day.ToString());

}

catch (Exception ex) {

MessageBox.Show(\请输入正确的日期\ } if (chaxun)

{

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString());

item.SubItems.Add(dr[3].ToString());

item.SubItems.Add(dr[4].ToString().Trim(' '));

item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString()

+ \

+ \

listView4.Items.Add(item); zhaodao = false; }

}

if (zhaodao) {

MessageBox.Show(\该账单不存在,请检查输入是否正确\ } } finally {

conn.Close(); } }

- 32 -

private void button1_Click(object sender, EventArgs e) {

if (!(textBox1.Text.Trim(' ')!=\ textBox2.Text.Trim(' ') !=\ textBox5.Text.Trim(' ')!=\ {

MessageBox.Show(\请先输入\ goto end; }

DateTime dt = new DateTime(System.DateTime.Today.Year, System.DateTime.Today.Month, System.DateTime. Today.Day, System.DateTime.Now.Hour,

System.DateTime.Now.Minute, System.DateTime.Now.Second); bool fin = false;

int i = 0;

foreach (ListViewItem item in listView4.Items) {

if (textBox1.Text == item.SubItems[1].Text) {

fin = true; break; } i++; }

if (fin) {

listView4.Items[i].SubItems[2].Text = textBox2.Text; listView4.Items[i].SubItems[3].Text = textBox5.Text; } else

{

if (listView4.Items.Count != 0) {

ListViewItemitem = new ListViewItem(listView4.Items[0].SubItems[0].Text); item.SubItems.Add(textBox1.Text); item.SubItems.Add(textBox2.Text); item.SubItems.Add(textBox5.Text);

item.SubItems.Add(listView4.Items[0].SubItems[4].Text); item.SubItems.Add(listView4.Items[0].SubItems[5].Text); listView4.Items.Add(item); }

- 33 -

else {

try {

ListViewItem item = new ListViewItem(dt.Year.ToString()

+ dt.Month.ToString().PadLeft(2, '0') + dt.Day.ToString().PadLeft(2, '0')

+dt.Hour.ToString().PadLeft(2, '0')+ dt.Minute.ToString().PadLeft(2, '0').PadLeft(2, '0')

+ dt.Second.ToString().PadLeft(2, '0'));

item.SubItems.Add(textBox1.Text); item.SubItems.Add(textBox2.Text); item.SubItems.Add(textBox5.Text);

item.SubItems.Add(\

item.SubItems.Add(dt.Year.ToString() + \ + dt.Day.ToString());

listView4.Items.Add(item); }

catch (Exception ex)

{

MessageBox.Show(\请先输入\ } }

} end: ; }

private void listView1_SelectedIndexChanged(object sender, EventArgs e) {

if (listView1.SelectedItems.Count != 0)

{

textBox1.Text = listView1.SelectedItems[0].Text; textBox2.Text = listView1.SelectedItems.Count.ToString(); } }

private void button7_Click(object sender, EventArgs e) {

if (listView4.Items.Count != 0) {

- 34 -

string comandstr = \

foreach (ListViewItem item in listView4.Items)

{

comandstr = \采购 ( 账单编号,名称,进货数量,单价\

+ \供货商姓名,采购员编号,进货日期,采购员姓名)values('\ comandstr += item.SubItems[0].Text; comandstr += \ comandstr += item.SubItems[1].Text; comandstr += \

comandstr += item.SubItems[2].Text; comandstr += \

comandstr += item.SubItems[3].Text; comandstr += \

comandstr += item.SubItems[4].Text; comandstr += \ comandstr += label7.Text; comandstr += \

comandstr += item.SubItems[5].Text; comandstr += \

comandstr += label6.Text;

comandstr += \

SqlConnection conn = new SqlConnection (Resource1.String1);

SqlCommand Com = conn.CreateCommand(); try {

conn.Open();

Com.CommandText = comandstr; Com.ExecuteNonQuery(); }

catch (Exception ec)

{

MessageBox.Show(\添加失败\ goto end; }

conn.Close();

} } else

{

MessageBox.Show(\请输入账单\ }

MessageBox.Show(\添加成功\

- 35 -

end: ;

}

private void BForm_Load(object sender, EventArgs e) {

SqlConnection conn = null; string comdstr = \

string comdstr1 = \

SqlCommand mycomand = null; SqlDataReader dr = null; SqlCommand mycomand1 = null; SqlDataReader dr1 = null; try {

conn = new SqlConnection(Resource1.String1); comdstr1 = \商品名称,库存量 from 库存\ mycomand1 = new SqlCommand(comdstr1, conn); conn.Open();

dr1 = mycomand1.ExecuteReader(); listView1.Items.Clear(); while (dr1.Read())

{

ListViewItem item = new ListViewItem(dr1[0].ToString().Trim(' ')); item.SubItems.Add(dr1[1].ToString()); listView1.Items.Add(item);

}

dr1.Close();

comdstr = \姓名,电话,手机,\邮箱,地址,结余,公司名称 from 供货商\ mycomand = new SqlCommand(comdstr, conn); dr = mycomand.ExecuteReader(); listView3.Items.Clear(); while (dr.Read()) {

ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' ')); item.SubItems.Add(dr[1].ToString().Trim(' ')); item.SubItems.Add(dr[2].ToString().Trim(' ')); item.SubItems.Add(dr[3].ToString().Trim(' ')); item.SubItems.Add(dr[4].ToString().Trim(' '));

item.SubItems.Add(dr[5].ToString());

item.SubItems.Add(dr[6].ToString().Trim(' ')); listView3.Items.Add(item);

- 36 -

}

}

finally {

conn.Close(); } }

private void button9_Click(object sender, EventArgs e) {

listView4.Items.Clear(); button7.Visible = true; }

private void button10_Click(object sender, EventArgs e) {

if (listView3.SelectedItems.Count != 0) {

int i = 0;

while (i < listView4.Items.Count)

{

listView4.Items[i].SubItems[4].Text =

listView3.SelectedItems[0].SubItems[0].Text; i++; }

} else {

MessageBox.Show(\请选择供货商\ } }

private void button4_Click(object sender, EventArgs e) {

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand(); try

{

Commstr = \采购 where 账单编号='\ if (listView4.SelectedItems.Count != 0) {

- 37 -

Commstr += listView4.SelectedItems[0].SubItems[0].Text; Commstr += \名称='\

Commstr += listView4.SelectedItems[0].SubItems[1].Text; Commstr += \

Comm.CommandText = Commstr; con.Open();

Comm.ExecuteNonQuery();

listView4.Items.Remove(listView4.SelectedItems[0]); }

} finally {

con.Close(); } }

private void button8_Click(object sender, EventArgs e) {

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand(); try {

Commstr = \采购 set 进货数量=\ if (listView4.SelectedItems.Count != 0)

{

Commstr += listView4.SelectedItems[0].SubItems[2].Text; Commstr += \单价=\

Commstr += listView4.SelectedItems[0].SubItems[3].Text; Commstr += \账单编号='\

Commstr += listView4.SelectedItems[0].SubItems[0].Text; Commstr += \名称='\

Commstr += listView4.SelectedItems[0].SubItems[1].Text; Commstr += \

Comm.CommandText = Commstr; con.Open();

Comm.ExecuteNonQuery(); }

}

finally

- 38 -

{

con.Close();

}

MessageBox.Show(\修改成功\ }

private void listView4_SelectedIndexChanged(object sender, EventArgs e) {

if (listView4.SelectedItems.Count != 0) {

textBox1.Text = listView4.SelectedItems[0].SubItems[1].Text; textBox2.Text = listView4.SelectedItems[0].SubItems[2].Text; textBox5.Text = listView4.SelectedItems[0].SubItems[3].Text; } }

private void button2_Click(object sender, EventArgs e) {

xiugai xu = new xiugai();

if (listView3.SelectedItems.Count != 0)

{

xu.textBox1.Text = listView3.SelectedItems[0].SubItems[0].Text;

xu.textBox2.Text = listView3.SelectedItems[0].SubItems[1].Text; xu.textBox3.Text = listView3.SelectedItems[0].SubItems[2].Text; xu.textBox4.Text = listView3.SelectedItems[0].SubItems[3].Text; xu.textBox5.Text = listView3.SelectedItems[0].SubItems[4].Text;

xu.textBox6.Text = listView3.SelectedItems[0].SubItems[5].Text; xu.textBox7.Text = listView3.SelectedItems[0].SubItems[6].Text; listView3.Items.Remove(listView3.SelectedItems[0]); }

xu.Show(); }

private void button5_Click(object sender, EventArgs e) {

xiugai xu = new xiugai(); xu.Show(); }

private void button6_Click(object sender, EventArgs e) {

string Commstr = \

SqlConnection con = new SqlConnection(Resource1.String1); SqlCommand Comm = con.CreateCommand();

- 39 -

本文来源:https://www.bwwdw.com/article/e1k3.html

Top