超市管理系统实践报告
V:1.0 精选管理方案
超市管理系统实践报告
2020- -6 6- -8 8
天津机电职业技术学院
TIANJIN VOCATIONAL COLLEGE OF MECHANICS AND ELECTRICITY 毕业综合实践 —— 超市管理系统 作
者:
院
系:
专
业:
班
级:
学
号:
2012
年
1
月
超市管理系统实践报告 前言 超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量,还要享受优质,方便的服务。
超市管理系统实践报告 摘要 随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长,超市时时刻刻都需要对商品各种信息进行系统分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。
超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等,从而对商品、员工等信息实现全面、动态、及时的管理。
本文系统的分析了软件开发的背景过程:首先介绍了软件的开发环境,其次介绍了软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。
超市管理系统实践报告 目录 第一章 绪论
..................................................... 错误! 未指定书签。
一、社会背景 ............................................ 错误! 未指定书签。
二、超市背景 ............................................ 错误! 未指定书签。
第二章 系统概要设计
.......................................... 错误! 未指定书签。
一、超市管理系统概述 .................................... 错误! 未指定书签。
(一)设计思想 ........................................ 错误! 未指定书签。
(二)设计原则 ........................................ 错误! 未指定书签。
(三)设计目标 ........................................ 错误! 未指定书签。
二、开发环境以及开发工具介绍 ............................ 错误! 未指定书签。
(一)Visual Studio 2005 .............................. 错误! 未指定书签。
(二)SQL Server 2005 ................................. 错误! 未指定书签。
第三章 系统数据库设计
........................................ 错误! 未指定书签。
一、数据库说明 .......................................... 错误! 未指定书签。
二、表结构说明 .......................................... 错误! 未指定书签。
(一)员工表(即用户 Employee 表)
..................... 错误! 未指定书签。
(二)客户类别表(Khlb 表)
........................... 错误! 未指定书签。
(三)客户信息表(Khxi 表)
........................... 错误! 未指定书签。
(四)商品表(Sp 表)
................................. 错误! 未指定书签。
第四章 系统详细设计
.......................................... 错误! 未指定书签。
一、系统功能结构图 ...................................... 错误! 未指定书签。
二、系统功能设计 ........................................ 错误! 未指定书签。
(一)
系统设置模块功能:
............................. 错误! 未定义书签。
(二)信息查询模块 .................................... 错误! 未指定书签。
(三)商品信息管理模块 ................................ 错误! 未指定书签。
(四)客户信息管理模块 ................................ 错误! 未指定书签。
(五)员工信息管理模块 ................................ 错误! 未指定书签。
(六)退出模块 ........................................ 错误! 未指定书签。
三、用户界面设计 ........................................ 错误! 未指定书签。
(一)登录界面 ........................................ 错误! 未指定书签。
(二)主界面 .......................................... 错误! 未指定书签。
(三)用户密码修改界面 ................................ 错误! 未指定书签。
(四)客户类别管理界面 ................................ 错误! 未指定书签。
(五)商品信息查询界面 ................................ 错误! 未指定书签。
(六)客户信息查询界面 ................................ 错误! 未指定书签。
(七)商品分类入库界面 ................................ 错误! 未指定书签。
(八)修改商品信息界面 ................................ 错误! 未指定书签。
(九)删除商品信息界面 ................................ 错误! 未指定书签。
(十)添加客户信息界面 ................................ 错误! 未指定书签。
(十一)修改客户信息界面 .............................. 错误! 未指定书签。
(十二)删除客户信息界面 .............................. 错误! 未指定书签。
(十三)添加员工信息界面 .............................. 错误! 未指定书签。
(十四)修改员工信息界面 .............................. 错误! 未指定书签。
(十五)删除员工信息界面 .............................. 错误! 未指定书签。
第五章 总结
..................................................... 错误! 未指定书签。
第六章 致谢辞
.................................................. 错误! 未指定书签。
第七章 参考文献 ................................................ 错误! 未指定书签。
第一章 绪论 一、社会背景 随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是 internet 技术的推广和信息高速公路的建设,使 IT 产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要高效的处理方式和管理方法,因此加快超市的信息化过程是必不可少的。
通过对市场的调查,针对当前各超市管理的特点和技术人员的实际水平,采用基于 Windows 图形用户界面这一易学易用的操作环境,在系统设计过程中尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。始终把系统的正确性放在首位,力求数据的完整和处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。
二、超市背景 我国超市形成于 20 世纪 90 年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售的发展,这样就迫切地需要引入新的管理技术。
超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时专递资料的要求始终得不到满足,随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已经无法应对这复杂的市场。为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工
的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
第二章 系统概要设计 一、超市管理系统概述 (一)设计思想 在 IT 行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉 IT 产品。因为有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够使系统顺利运行。因此设计了超市管理系统,设计思想有以下三点:
1. 系统分成几个相对独立的模块,但这些模块都进行集中式管理。
2. 分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。
3. 合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
(二)设计原则 为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需求,在设计开发过程中遵循了如下原则:
1.实用性原则 适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。
2.准确性原则 对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。
3.易操作原则 要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。
4.安全性原则 可以为该系统的用户设置用户权限。
(三)设计目标
超市管理系统的设计以先进成熟的计算机和数据库技术为主要手段,建成覆盖超市内部各部门的管理信息系统,以做到市场、销售、采购、人事方面的信息可以及时正确地得到反映,为经营决策提供有力的信息保证。实现超市的管理现代化、信息资源化和决策科学化。
二、开发环境以及开发工具介绍
该软件是在 Visual Studio 2005+SQL Server 2005 的环境下完成的。下面就对这些开发工具进行介绍:
(一)Visual Studio 2005 1.简介 Visual Studio 2005 简称 VS 2005 是美国微软公司推出的最新开发工具,该版本的新功能体现在对 VS 2005 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual J#全都使用相同的集成开发环境(IDE),利用此 IDE 可以共享工具且有助于使用混合语言创建解决方案。另外,这些语言利用了.NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。
2.访问数据库 VB 中提供了许多访问数据库的方法,可以访问的数据库类型有 dBase、FoxPro、和 Access 数据库。另外可以通过 ODBC 方式访问 MS SQL Server、Oracle 和 Sybase 等,并以客户机/服务器方式存取数据库中的数据。
VB 提供的数据库访问方法主要有:使用可视化数据管理器管理数据库、用 Data、ADO 数据控件访问数据库、通过 ODBC 方式访问远程数据库以及采用对象变量访问数据库等。
(二)SQL Server 2005 1.简介 Microsoft 的 SQL Server 作为众多数据库软件的一种,是网络世界的一个支撑。从 20 世纪 80 年代后期开发 SQL Server,到 2005 年底 SQL Server 2005 的发布,Microsoft 历经十几年的磨练,使 SQL Server 从无到有,从小到大,而且新一代的 SQL Server 已经开始逐渐成为 Windows 操作系统未
来的核心,成为主流数据库软件。
SQL Server 2005 是一个全面的数据库平台,其数据引擎是企业数据管理解决方案的核心。集成的商业智能(BI)工具、分析、报表、集成和通知功能为用户提供了企业级的数据管理。
SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。此外,应用 SQL Server 2005 可通过记分卡、Dashboard、Web services和移动设备将数据应用推向业务的各个领域。SQL Server 2005 可以为开发人员、数据库管理员、信息工作者以及决策者提供创新的解决方案,帮助用户从数据中获得更多的收益。
2.发展历史 1987 年,由 Microsoft、Sybase 和 Aston-Tate 三家公司共同开发了Sybase SQL Server。
1988 年,由 Microsoft 公司、Sybase 公司和 Aston-Tate 公司共同开发了运行于 OS/2 平台的 SQL Server。
1992 年,由 Microsoft 公司和 Sybase 公司共同开发了运行于 Windows NT 平台,包含较少的功能,与 Windows 集成,提供了易于操作的用户界面的桌面数据库系统 SQL Server。
1994 年,Microsoft 公司与 Sybase 公司,各自开发自己的 SQL Server。前者开发基于 Windows NT 平台上的 SQL Server,而后者开发基于 UNIX 平台上的 SQL Server。随后 Microsoft 公司推出了其独自开发的 SQL Server6.0。
1996 年,Microsoft 公司推出了具备了市场所需的速度快、功能强、易使用、价格低等特点的 SQL Server 6.5。
1998 年,Microsoft 公司推出了在数据存储和数据库引擎方面发生了根本变化,能为用户提供中小型商业应用数据库方案,包含了初始的 Web支持的 SQL Server 7.0。
2000 年,推出了包含了三个组件(DB,OLAP,English Query)。丰富的前端工具,完善的开发工具,以及对 XML 的支持等的 SQL Server 2000企业级数据库系统。
2005 年 11 月,Microsoft 公司经过 5 年的努力,推出了其最新版本 SQL Server 2005。
第三章 系统数据库设计 一、数据库说明
在系统设计过程中,首先要建立的就是数据库。超市管理系统是运用SQL Server 2005 进行数据库的详细设计,可以使数据信息达到安全可靠。本系统建立了一个 tsglxt 数据库,下设四个表:员工表(即用户 Employee表)、客户类别表(Khlb 表)、客户信息表(Khxi 表)、商品表(Sp 表)。
如图所示:
二、表结构说明 (一)员工表(即用户 Employee 表)
列名 数据类型 字段值约束 主键 员工编号 char(10)
NOT NULL P 姓名 char(10)
NOT NULL
性别 char(2)
NOT NULL
职务 char(10)
NOT NULL
手机 char(20)
NULL
密码 char(6)
NOT NULL
说明:此表存放员工信息。
(二)客户类别表(Khlb 表)
列名 数据类型 字段值约束 主键 客户类别 char(10)
NOT NULL P 商品数量 int NOT NULL
优惠折扣 float NULL
说明:此表存放客户类别信息。
t tsglxt 数据库 Khxi 表 表 Sp 表 表 b Khlb 表 表 Employe ee 表 表
(三)客户信息表(Khxi 表)
列名 数据类型 字段值约束 主键 客户编号 char(10)
NOT NULL P 客户姓名 char(10)
NOT NULL
客户类别 char(10)
NOT NULL
优惠状况 char(10)
NOT NULL
性别 char(2)
NOT NULL
单位 char(30)
NOT NULL
电话 char(20)
NOT NULL
Email char(20)
NOT NULL
说明:此表存放客户信息。
(四)商品表(Sp 表)
列名 数据类型 字段值约束 主键 商品编号 char(20)
NOT NULL P 分类号 char(20)
NOT NULL
商品名 char(30)
NOT NULL
类别 char(20)
NOT NULL
产地 char(20)
NOT NULL
价格 float NOT NULL
库存数 int NOT NULL
在库数 int NOT NULL
说明:此表存放商品信息。
第四章 系统详细设计 一、系统功能结构图
二、系统功能设计 系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台账、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,辅助超市完成其目标。
本系统共包括六大模块,分别是系统设置模块,信息查询模块,商品信息管理模块,客户信息管理模块,员工信息管理模块,退出模块。每个模块的功能如下:
(一)
系统设置模块功能:
1.实现用户权限的设置,如修改密码。
2.实现客户类别信息的查询、添加、修改、删除。
3.实现重新登录系统。
(二)信息查询模块 1.实现商品信息的查询。
2.实现客户信息的查询。
(三)商品信息管理模块 1.实现商品的分类入库管理功能。
2.实现商品信息的修改功能。
3.实现商品信息的删除功能。
(四)客户信息管理模块 1.实现客户信息的添加功能。
2.实现客户信息的修改功能。
3. 实现客户信息的删除功能。
退出 系统设置 用户密码修改 超市管理系统 信息查询 商品信息管 理
客户信息管理
员工信息管理
客户类别管理 重新登录 商品信息查询 客户信息查询 商品分类入库 修改商品信息 删除商品信息 添加客户信息 修改客户信息 删除客户信息 添加员工信息 修改员工信息 删除员工信息
(五)员工信息管理模块 1. 实现员工信息的添加功能。
2. 实现员工信息的修改功能。
3. 实现员工信息的删除功能。
(六)退出模块 实现退出系统的功能。
三、用户界面设计 (一)登录界面 1.功能:本界面的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统。其界面如下所示:
2.关键代码:
private void btnOK_Click(object sender, EventArgs e)
{
string userName = cbxEmployeeNo.Text;
string passWord = txtPwd.Text;
string sqlString = “select * from employee where 员工编号=’” + userName + “’ and 密码=’” + passWord + “’”;
DataSet ds = operatedb.GetDataSet(sqlString,”employee”);
int n=ds.Tables[“employee”].Rows.Count;
if (n==0)
{
MessageBox.Show(“用户名或密码错误,请重新输入!”);
cbxEmployeeNo.Text = “”;
txtPwd.Text = “”;
cbxEmployeeNo.Focus();
}
else
{
this.Hide();
frmMain frmmain = new frmMain();
frmmain.ShowDialog();
}
} private void txtPwd_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
btnOK_Click(null, null);
}
}
private void frmLogin_Load(object sender, EventArgs e)
{
string sqlstring = “select 员工编号 from employee”;
DataSet ds = operatedb.GetDataSet(sqlstring,”employee”);
cbxEmployeeNo.DataSource =ds.Tables[“employee”];
cbxEmployeeNo.DisplayMember = “员工编号”;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (this.label3.Left <= (this.Width))
this.label3.Left += 15;
else
this.label3.Left = -this.label3.Width;
}
(二)主界面 1.功能:是用户进行信息编辑的载体,从这里可以进入各个编辑查询界面。其界面如下所示:
2.关键代码:
private void 商品信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmFindsp frmFindsp = new frmFindsp();
frmFindsp.MdiParent = this;
frmFindsp.Show();
}
private void 客户信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmFindKh frmFindKh = new frmFindKh();
frmFindKh.MdiParent = this;
frmFindKh.Show();
}
private void 商品分类入库ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmAddSp frmAddSp = new frmAddSp();
frmAddSp.MdiParent = this;
frmAddSp.Show();
}
private void 修改商品信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmModiSp frmXgsp = new frmModiSp();
frmXgsp.MdiParent = this;
frmXgsp.Show();
}
private void 删除商品信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmDelSp frmDelSp = new frmDelSp();
frmDelSp.MdiParent = this;
frmDelSp.Show();
}
private void 添加客户信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmAddKh frmAddKh = new frmAddKh();
frmAddKh.MdiParent = this;
frmAddKh.Show();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
商品信息查询ToolStripMenuItem_Click(null,null );
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
添加客户信息ToolStripMenuItem_Click(null,null );
}
private void 添加员工信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmAddEmployee frmaddEmployee = new frmAddEmployee();
frmaddEmployee.MdiParent = this;
frmaddEmployee.Show();
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
添加员工信息ToolStripMenuItem_Click(null,null );
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
商品分类入库ToolStripMenuItem_Click(null,null );
}
private void toolStripButton7_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void 修改客户信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmModiKh frmModiKh = new frmModiKh();
frmModiKh.MdiParent = this;
frmModiKh.Show();
}
private void 删除客户信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmDelKh frmDelKh = new frmDelKh();
frmDelKh.MdiParent=this;
frmDelKh.Show();
}
private void 用户密码修改ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmModiUserPwd frmmodiUserPwd = new frmModiUserPwd();
frmmodiUserPwd.MdiParent = this;
frmmodiUserPwd.Show();
}
private void 修改员工信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmModiEmployee frmmodiEmployee = new frmModiEmployee();
frmmodiEmployee.MdiParent = this;
frmmodiEmployee.Show();
}
private void 删除员工信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmDelEmployee frmdelEmployee = new frmDelEmployee();
frmdelEmployee.MdiParent = this;
frmdelEmployee.Show();
}
private void 客户类别管理ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmManagekhlb khlb = new frmManagekhlb();
khlb.MdiParent = this;
khlb.Show();
}
private void 重新登录ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Dispose();
frmLogin frmlogin = new frmLogin();
frmlogin.ShowDialog();
}
(三)用户密码修改界面 1.功能:对用户进入系统的密码可以重新修改。其界面如下所示:
2.关键代码:
private void btnOK_Click(object sender, EventArgs e)
{
string sqlstring = “select * from employee where 员工编号=’” + cbxEmployeeNo.Text + “’ and 密码=’”+txtOldPwd.Text+”’”;
SqlDataReader dr = operatedb.GetDataReader(sqlstring);
if (dr.Read() != false)//密码输入正确
{
dr.Close();
if (txtNewPwd.Text == txtPwdAgain.Text)//两次密码输入一致
{
string sqlstring1 = “update employee set 密码=’” + txtNewPwd.Text + “’ where 员工编号=’” + cbxEmployeeNo.Text + “’”;
int n = operatedb.ExecuteSql(sqlstring1);
if (n == 1)
{
MessageBox.Show(“密码成功修改!”, “信息提示”);
cbxEmployeeNo.Text = “”;
txtOldPwd.Text = “”;
txtNewPwd.Text = “”;
txtPwdAgain.Text = “”;
cbxEmployeeNo.Focus();
}
else
{
MessageBox.Show(“密码没被修改!”, “信息提示”);
}
}
else
{
MessageBox.Show(“两次输入的密码不一致,请重新输入!”, “提示”);
txtOldPwd.Text = “”;
txtNewPwd.Text = “”;
txtPwdAgain.Text = “”;
txtOldPwd.Focus();
}
}
else
{
dr.Close();
MessageBox.Show(“密码输入错误!请重输入输入!”, “提示”);
cbxEmployeeNo.Text = “”;
txtOldPwd.Text = “”;
cbxEmployeeNo.Focus();
}
} (四)客户类别管理界面 1.功能:从数据库中查询出客户的类别资料,是普通会员,还是 VIP会员,以及购买商品的数量和优惠折扣,可以实现增删查改。其界面如下所示:
2.关键代码:
private void btnDel_Click(object sender, EventArgs e)
{
if (btnDel.Text == “删除”)
{
string sqlstring = “select * from khxi where 客户类别=’” + txtType.Text + “’”;
DataSet ds = operatedb.GetDataSet(sqlstring,”khxi”);
int n=ds.Tables[“khxi”].Rows.Count;
if (n == 0)
{
DialogResult result = MessageBox.Show(“真的要删除此类别吗?”, “询问”, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
string sqlstring1 = “delete from khlb where 客户类别=’” + txtType.Text + “’”;
int n1 = operatedb.ExecuteSql(sqlstring1);
if (n1 == 1)
{
frmManagekhlb_Load(null, null);
MessageBox.Show(“已成功删除该类别信息”, “信息提示”);
}
else
{
MessageBox.Show(“删除信息失败!”, “信息提示”);
}
}
}
else
{
MessageBox.Show(“客户信息表中存在此类信息,不允许删除!”, “提示”);
}
}
else
{
txtKjss.Enabled = false;
txtKjts.Enabled = false;
txtType.Enabled = false;
btnAdd.Enabled = true;
btnEdit.Enabled = true;
btnDel.Enabled = true;
btnDel.Text = “删除”;
btnEdit.Text = “修改”;
btnAdd.Text = “添加”;
}
} private void btnAdd_Click(object sender, EventArgs e)
{
if (btnAdd.Text == “添加”)
{
btnAdd.Text = “确定”;
btnDel.Text = “取消”;
btnEdit.Enabled = false
;
txtType.Enabled = true;
txtKjss.Enabled = true
;
txtKjts.Enabled = true
;
txtType.Text = “”;
txtKjss.Text = “”;
txtKjts.Text = “”;
txtType.Focus();
}
else
{
string sqlstring1 = “select * from khlb where 客户类别=’””’”;
DataSet ds1 = operatedb.GetDataSet(sqlstring1,”khlb”);
if (ds1.Tables[“khlb”].Rows.Count == 0)
{
string sqlstring2 = “insert into khlb values(‘” + txtType.Text + “’,” + txtKjss.Text + “,” + txtKjts.Text + “)”;
int n = operatedb.ExecuteSql(sqlstring2);
if (n == 1)
{
btnAdd.Text = “添加”;
btnEdit.Enabled = true;
btnDel.Text = “删除”;
txtKjss.Enabled = false;
txtKjts.Enabled = false;
frmManagekhlb_Load(null, null);
MessageBox.Show(“添加信息成功”, “提示”);
}
else
{
MessageBox.Show(“添加信息失败”, “提示”);
}
}
else
{
MessageBox.Show(“此客户类别已存在!”, “提示”);
txtType.Text = “”;
txtType.Focus();
}
}
} private void btnEdit_Click(object sender, EventArgs e)
{
if (btnEdit.Text == “修改”)
{
btnEdit.Text = “确定”;
btnDel.Text = “取消”;
btnAdd.Enabled = false;
txtType.Enabled = true;
txtKjss.Enabled = true ;
txtKjts.Enabled = true ;
txtType.Focus();
}
else
{
string sqlstring = “update
khlb set 商品数量=” + txtKjss.Text + “,优惠折扣=” + txtKjts.Text+” where 客户类别=’”+txtType.Text +”’”;
int n = operatedb.ExecuteSql(sqlstring);
if (n == 1)
{
btnEdit.Text = “修改”;
btnAdd.Enabled = true;
btnDel.Text = “删除”;
frmManagekhlb_Load(null, null);
MessageBox.Show(“修改信息成功”, “提示”);
}
else
{
MessageBox.Show(“修改信息失败”, “提示”);
}
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
}
(五)商品信息查询界面 1.功能:可以按商品的编号、名称、类别、产地对商品的库存数量进行查询,方便管理人员对商品情况的及时了解。其界面如下所示:
2.关键代码:
private void btnFindWriter_Click(object sender, EventArgs e)
{
string sqlstring = “”;
if (txtWriter.Text
== “”)
{
sqlstring = “select * from sp”;
}
else
{
sqlstring = “select * from sp where 产地 like ‘%””%’”;
}
DataSet ds = operatedb.GetDataSet(sqlstring, “sp”);
int n = ds.Tables[“sp”].Rows.Count;
dataGridView1.DataSource = ds.Tables[“sp”];
lblMessage.Text = “记录数为:” + n.ToString();
if (n == 0)
{
MessageBox.Show(“无此产地!”, “查询信息”);
}
txtWriter.Focus();
} (六)客户信息查询界面 1.功能:可以按客户的编号、姓名、类别、单位、电话对客户的有关情况进行查询,方便管理人员对客户情况的及时了解。其界面如下所示:
2.关键代码:
private void btnFindReaderType_Click(object sender, EventArgs e)
{
string sqlstring = “”;
if (txtReaderType.Text == “”)
{
sqlstring = “select * from khxi”;
}
else
{
sqlstring = “select * from khxi where 客户类别=’” + txtReaderType.Text + “’”;
}
DataSet ds = operatedb.GetDataSet(sqlstring, “khxi”);
int n = ds.Tables[“khxi”].Rows.Count;
dataGridView1.DataSource = ds.Tables[“khxi”];
lblMessage.Text = “记录数为:” + n.ToString();
if (n == 0)
{
MessageBox.Show(“无此客户!”, “查询信息”);
}
txtReaderType.Focus();
} (七)商品分类入库界面 1.功能:将新增的商品分类入库,进行合理的规划。其界面如下所示:
2.关键代码:
private void btnSave_Click(object sender, EventArgs e)
{
string sqlstring;
if (old == false)//是新商品,则插入一条记录
{
sqlstring = “insert into sp values(‘” + txtBookNo.Text + “’,’” + txtTypeNo.Text + “’,’” + txtBookName.Text + “’,’” + txtClass.Text + “’,’” + txtWriter.Text + “’,’” + txtPrice.Text + “’,’” + txtCount1.Text + “’,’” + txtCount2.Text + “’)”;
}
else//是原有商品,将原记录的在库数和库存数分别加上新购入的数量
{
sqlstring = “update sp set 在库数=在库数+” + txtCount2.Text + “,库存数=库存数+” + txtCount2.Text + “ where 商品编号=’” + txtBookNo.Text + “’”;
}
int n = operatedb.ExecuteSql(sqlstring);
if (n == 1)
{
MessageBox.Show(“已成功保存该商品信息,您可以继续输入”, “信息提示”);
btnCancel_Click(null, null);
}
else
{
MessageBox.Show(“保存商品信息有误!”, “信息提示”);
}
}
private void txtBookNo_KeyPress(object sender, KeyPressEventArgs e)
{
string
if (e.KeyChar == 13)//按了回车
{
if“”)
{
MessageBox.Show(“商品编号不能为空,请输入商品编号!”, “提示”);
txtBookNo.Focus();
}
else
{
//检查商品信息表中是否有该商品信息
string sqlstring = “select * from sp where 商品编号=’” + bookNo + “’”;
DataSet ds=operatedb.GetDataSet(sqlstring,”sp” );
int n = ds.Tables[“sp”].Rows.Count;
if (n!= 0)//已经存在该商品的信息
{
old = true;
txtBookNo.Enabled = false;
lblMessage.Text = “已有商品信息,输入新进货数量”;
txtBookName.Text = ds.Tables[“sp”].Rows[0][“商品名”].ToString();
txtTypeNo.Text = ds.Tables[“sp”].Rows[0][“分类号”].ToString();
txtClass.Text = ds.Tables[“sp”].Rows[0][“类别”].ToString();
txtCount1.Text = ds.Tables[“sp”].Rows[0][“库存数”].ToString();
txtPrice.Text = ds.Tables[“sp”].Rows[0][“价格”].ToString();
txtWriter.Text = ds.Tables[“sp”].Rows[0][“产地”].ToString();
txtCount2.Enabled = true;
txtCount2.Focus();
}
else//是新商品
{
old = false;
lblMessage.Text = “新增商品,输入各项信息”;
txtBookNo.Enabled = false;
txtTypeNo.Enabled = true;
txtTypeNo.Focus();
}
}
}
}
private void txtTypeNo_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar== 13)//按了回车键
{
if“”)
{
MessageBox.Show(“分类号不能为空,请输入商品分类号!”, “提示”);
txtTypeNo.Focus();
}
else
{
txtTypeNo.Enabled = false;
txtBookName.Enabled = true;
txtBookName.Focus();
}
}
} (八)修改商品信息界面 1.功能:修改商品的相关信息。其界面如下所示:
2.关键代码:
private void txtBookNo_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if“”)
{
MessageBox.Show(“商品编号不能为空!”, “提示”);
txtBookNo.Focus();
}
else//检查编号是否合法
{
string sqlstring1 = “select * from sp where 商品编号=’” + txtBookNo.Text + “’”;
DataSet ds1 = operatedb.GetDataSet(sqlstring1,”sp”);
int n1 = ds1.Tables[“sp”].Rows.Count;
if (n1 == 0)
{
MessageBox.Show(“无此商品编号!”, “提示”);
txtBookNo.Focus();
}
else
{
txtBookNo.Enabled = false;
txtTypeNo.Text = ds1.Tables[“sp”].Rows[0][“分类号”].ToString();
txtBookName.Text = ds1.Tables[“sp”].Rows[0][“商品名”].ToString();
txtClass.Text = ds1.Tables[“sp”].Rows[0][“类别”].ToString();
txtWrit...
上一篇:中学年德育工作汇报材料
下一篇:幼儿园亮点工作汇报材料-