资源描述
毕业设计(论文)摘要现代高速发展的信息时代,超市管理系统已是一个超市管理者与决策者不可缺少的管理工具,因此超市管理系统应该能够为用户提供充足的信息,便捷的操作,快速的查询手段。本程序是一个典型的信息管理程序,其开发过程主要包括后台数据库的建立以及前端应用程序的开发两个方面。对于前者使用Microsoft SQL Server 2005建立起一个集数据一致性、完整性、安全性好的数据库,而对于后者则使用Microsoft Visual Studio 2005编写易于使用,满足需求的运行程序。整个项目主要完成对超市商品的日常管理,包括进货管理,销售管理,库存管理,员工管理和会员管理五个方面。在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等功能。 本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理及权限管理功能。关键字:数据库,控件,权限AbstractThe development of modern high-speed information age, the supermarket management system is a supermarket managers and decision makers an indispensable management tool, the supermarket management system should be able to provide sufficient information for users, easy operation, fast query tool. This procedure is a typical information management program, its development process, including background of the establishment of the database and front-end application development aspects. The former uses Microsoft SQL Server 2005 to build a set of data consistency, integrity, security, good database, but the latter is written using Microsoft Visual Studio 2005 is easy to use, to meet the needs of running the program. The entire project was completed for the daily management of supermarket goods, including the purchase management, sales management, inventory management, staff management and management of five members. Functionally complete information system can browse, search, add, delete, modify and so on. The core of this issue is one of sales management, inventory management and purchase management links between the three, while the system has a complete user management and permissions management. Keywords: database, control, authority目录一.引言41.1课题研究意义与发展前景41.2程序设计的目的与功能特点4二.超市管理系统程序设计总体分析 52.1程序总体需求分析与功能需求分析 52.2程序设计可行性分析 62.3程序设计开发环境与开发工具 7三.程序总体结构设计 103.1程序结构设计 103.2数据库设计 13四.程序详细设计 224.1数据库配置 224.2功能模块实现 23五.结束语 50六.致谢 51七.参考文献 52一 引言1.1 课题研究意义与发展前景超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。现随着经济的高速发展,超市的信息化工作也在紧锣密鼓地进行,与此同时伴随着超市规模的不断扩大以及各种信息流量的日益增多,其经营管理也变得愈加复杂,而且以往在超市日常管理中,商品进货、销售、库存等决策主要以经验为主,缺乏实时分析功能,并且伴随着商业运转的中间环节也越来越多,因此以前的手工操作方式就不能适应超市快速的信息发展的需要,而在计算机科学技术日益发展和成熟的今天,依靠现代化的计算机信息处理技术来管理超市日常工作中的各类商品及用户的信息数据,既节省了大量的人力、物力、改善了员工的工作条件,减轻了劳动强度,同时也能够快速反映出商品的进销存状况和各种反馈信息分析,使管理人员快速对市场的变化做出对应决策,加快超市的发展。从而极大地提高超市的工作效率。1.2 程序设计的目的与功能特点 为了适应日趋激烈的市场竞争,各类型的超市需要对自身的经营状况有充分的了解,并通过有效的管理不断提高效率。因此,对超市整体信息的管理成为提高经营效率的一个重要途径。本超市管理程序是针对超市各种商品的进货,库存,销售的出入库登记和各种人员信息管理和查询统计等方面工作而开发的管理软件,是一个实用性的管理信息程序,并针对超市日常工作的实际需要,分析了超市管理程序的功能,以商品的进货,库存,销售管理及人员信息管理为重点,描述了其各子系统的模块结构设计,实现超市对用户管理,进货管理,销售管理,库存管理,会员管理等功能。用户可以通过相应的模块,对超市中各类商品的基本情况进行增加、更新、删除和查询操作,同时对商品和用户明细进行预览及查询,也可对使用该系统对用户进行更新、删除和查询,权限设置,密码修改,等其系统管理功能。从而使相关人员从以往烦琐的工作解脱出来,充分体验到信息时代的超市信息化工作给超市的日常工作所带来的便利和快捷,体会到计算机的快速、准确、智能的强大功能。二 超市管理系统程序设计总体分析2.1 程序总体需求分析与功能需求分析2.1.1 总体需求分析本程序设计开发所要完成的是超市管理系统,为实现超市现代化,智能化管理,依据前期的调查分析,按照具体环境的设定,提出整体要求:1. 系统应基本符合超市商品管理的要求,满足超市商品管理人员日常使用的需要,并达到操作过程中界面清晰直观、易于操作,保证系统的实用性及安全性。2. 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护。3. 系统应具备数据库维护功能,及时根据用户需求进行数据的检索,添加、删除、修改等操作。即实现用户及会员管理,进货管理,销售管理,库存管理。2.1.2 程序设计功能需求分析1. 安全管理:为保证系统的安全性,设有两级权限管理:系统管理员,用户管理员。系统管理员享有最高权限,可对商品,用户及会员进行添加,删除,修改,查询及浏览等操作。用户管理人员只能对商品进行浏览查看销售信息录入模块的信息并修改自己的登录密码。2. 用户管理:系统管理员对理货人员进行添加新用户,删除旧用户,修改用户信息。3. 商品管理:包括进货管理,销售管理,库存管理。4. 进货管理:根据销售情况及库存情况,制定进货计划,这样可以避免盲目进货造成商品积压导致效益受损。 也可按计划有选择性地进行入库登记。 综合查询打入库记录及金额。5. 销售管理: 对商品各种销售进行控制。 综合查询各种销售明细记录6. 库存管理: 综合查询库存明细记录。 库存自动计算,以免库存不足影响正常销售。7. 人员管理: 对员工及会员基本信息进行管理,并可以对会员进行人数统计。2.2 程序设计可行性分析当要完成一个软件管理程序开发时,就必须进入软件生命的第一个阶段,即进行程序设计可行性分析研究。因为可行性研究分析目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决,并不是所有问题都具有简单的解决办法,因为许多预想的问题不能在预定的规模之内解决,因此通过可行性研究分析可以知道某些问题实施的可能性的几率,有无可行性的解决方法,从而判定原定的开发目标和规模是否现实,并在定义阶段较早的认识到预定开发方案的缺陷进而避免人力、物力和才力的浪费。8因此,可行性研究实质上是要进行依次压缩简化的系统分析和设计的过程,对于本程序开发的目标来说应充分体现为超市日常管理服务的宗旨。2.2.1 技术可行性分析根据前期的市场调查与对下列系统功能、性能及实现系统的各项所需技术的约束条件的分析来看,本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,同时,考虑给予的开发期限较为充裕,预计可以在规定期限内完成预定功能地开发与实现。在软件方面本程序设计采用的开发环境是Microsoft Visnal Studio 2005,采用开发语言c#编写程序,采用SQL Server 2005做后台数据库。在硬件方面电脑的各种配置包括输入输出能力,内部存储器和外部存储器的容量都能满足用户的要求。在程序设计方面包括如下功能模块:1. 建立安全的数据库和用户管理。具有可靠完整的数据库连接,实现用户的权限管理。2. 界面清晰直观、易于操作。以适合超市相关人员日常维护。3. 依据相关技术实现系统预计的各个模块功能。2.2.2 经济可行性分析本程序设计提高了超市的管理效率,自然提高了超市的收入。通过估算本系统的成本效益分析,包括估计今后的运行、维护费用,设备购置和估计新系统将获得的效益来看,可知本次开发的程序设计系统成本低,见效快,而且长期利润高。2.2.3 操作可行性分析本套程序设计采用完全鼠标点击操作,界面清晰直观、易于操作。由于它能够准确记录、检索和管理有关超市各类商品信息和用户信息,帮助超市经营者掌握和分析营销情况,及时做出正确决策,并且便于超市相关内部人员对进货、库存、销售等管理,因而大大提高了超市的管理水平与效率。2.3 程序设计开发环境与开发工具2.3.1 开发环境1. 操作系统:Windows XP2. 开发软件:Microsoft Visual Studio 20053. 数据库:SQL server 20054. 开发语言:C#2.3.2 开发工具Visual Studio 2005 的问世带来了很多改进和新增功能,它们使集成开发环境 (IDE) 给人们留下更加深刻的印象。在 Visual Studio .NET 中,Microsoft 将起始页作为一种便于我们开始使用 Visual Studio 的快速而容易的方式介绍给我们。它使我们可以轻松打开常用项目、创建新项目、找到联机资源,以及配置 Visual Studio 配置文件在 Visual Studio2005 中添加的另一个的功能是 Code Analysis FxCop。很多开发人员已经熟悉了这一静态代码分析工具,但它现在直接与 Visual Studio 集成在一起。Visual Studio 提供了一个强大的新 IDE,从而使编写强大的应用程序变得更快且更容易。对开发环境进行的从集成社区资源到新 ASP.NET 项目模型的更改,旨在提高开发人员的工作效率。Visual Studio.NET 2005当中提供了更加安全的编程模式,用来管理站点的用户、角色及成员资格,除了提供了相应的API,还提供了新的Web Control以及Service,方便我们编程。2 SQL Server作为微软公司在Windows系列平台上开发的数据库,是一个功能完备的数据库管理系统。3他包括支持开发的引擎,标准的SQL语言,扩展的SQL特性,存储过程,触发器等功能。SQL Server具有图形化界面,使系统管理和数据库管理更加直观、简单。它还有丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地,并且其05的新特性:1. 全面重新设计的DTS体系结构和工具。2. 引入了由管理工具和管理应用编程接口(API)组成的集成化套件用以降低操作的复杂度。3. 允许使用任何Microsoft .NET语言开发数据库对象的能力。4. 支持新的XML数据类型。5. 新增查询类型和在事务中进行错误处理的能力。6. 采用高级语言编写数据库对象。7. 支持数据库镜像。8. 增加储存引擎的改进。2.3.3 开发语言C#是 Visual Studio .NET 中引入的一种新的编程语言。C# 从 C 和 C+ 演变而来,是一种简单、现代、类型安全和面向对象的语言。设计 C# 是为了建立运行于 .NET 平台上的、范围广泛的企业级应用程序。用 Visual C# 编写的代码被编译为托管代码,这意味着它将受益于公共语言运行库的服务。这些服务包括:语言互操作性、垃圾回收、增强的安全性以及改进的版本支持。 4在 Visual Studio .NET 中,Visual C# 完全得到项目模板、设计器、属性页、代码助理、对象模型和其他开发环境功能的支持。6C#主要提供了以下几个主要优点:1. 一致性:C#通过让你把该语言中的每一种类型都看作一个对象从而实现了类型系统的统一。2. 现代性:C#用于处理错误的内置模式更丰富。C#实现了类型安全以保证应用程序运行时更加稳定,同时,类型安全也使代码更具可读性。3. 可伸缩性:C#通过把类型的声明和定义结合起来去除了这种常常令人头痛的头文件包含,它还可以直接引进和发布COM+元数据,使得逐层编译变得更容易。4. 类型安全性5. 兼容性:APTs的四种类型在Windows平台上是公用的,而C#对这四种类型提供了完全的支持。在C#中,老式的C语言APIs接口也得到了完全的支持。C#提供了对标准的COM和OLE Automation APIs的透明访问,并且支持COM+运行期的所有数据类型。三 程序总体结构设计3.1 程序结构设计3.1.1 功能模块设计1. 用户登录模块启动程序后,首先输入用户名与密码,若用户名或密码正确则进入程序主界面,否则程序会给出出错的信息提示。2. 用户管理模块a) 用户管理子模块系统管理员可以对用户权限进行管理,同时对用户进行添加新用户,删除用户,修改用户信息;本模块对普通用户不可见。b) 修改密码子模块所有登录的人员都对自己的密码进行修改。3. 商品管理模块(系统管理员可以操作,普通用户不可见)a) 进货管理子模块可以添加新货的信息,删除货品信息,修改货品信息;同时录入进货信息是更新库存信息。b) 库存管理子模块可以采用条件查询得到相应库存商品信息,从而依据销售及库存情况制定进货计划。c) 销售管理子模块负责为所有新商品销售制定计划;包括促销打折,商品价格制定等。4. 销售录入管理模块所有用户都可以操作。可以浏览销售的商品的信息。在每次商品交易后,会更新商品库存信息及会员消费信息。5. 会员管理模块a) 会员管理子模块系统管理员可以对会员信息进行管理;包括增加新会员,删除会员,修改会员信息及浏览。b) 会员信息查询子模块可以通过所给的查询条件得到相应会员的信息,并可以统计目前超市会员人数,一直与制定销售策略。3.1.2 程序设计流程图程序流程图-管理员权限如图所示:管理员登录4.是退出系统5.管理员窗口验证权限与密码6.否7.商品管理系统设置销售录入会员管理提示错误信息8.9.10.库存管理销售管理进货管理修改密码用户管理信息销售录入会员信息查询会员信息管理11.12.13.14.15.图3-1 程序流程图-管理员程序流程图-销售人员权限如图所示:输入身份证为用户名登录验证权限与密码是销售人员窗口否退出系统销售录入系统设置提示信息销售信息录入修改密码图3-2 程序设计流程图-理货员图3-2程序流程图-销售人员3.1.3 程序设计功能图超市商品程序设计是一个典型的信息管理程序,基于对前面的一系列系统功能分析,同时考虑到本程序实际的设计特点,从而涉及实现了程序使用者对商品管理的完整的操作管理流程的功能图。 超市管理系统 登录管理 销售人员管理人员 交易商品信息录入会员管理员工管理库存管理销售管理进货管理 修改登录密码图3-3 程序设计总功能图3.2 数据库设计由于本程序设计是典型的可视化的信息管理程序,其开发主要包括数据库的建立及应用程序的编写。关于数据库的构建主要包括数据库需求分析,概念结构设计,数据结构设计。3.2.1 数据库需求分析主要是收集基本数据及确定数据的处理要求,需求分析主要解决如下问题:11) 数据要求:用户需要从数据库中获取什么数据,并决定在数据库中存储那些数据。2) 操作要求:明确用户对数据的操作要求,从而确定数据之间的关系。3.2.2 数据库概念结构设计(E-R图)概念模型是对于信息世界的建模,是现实世界到信息世界的抽象,是数据库设计人员和用户之间进行交流的语言。概念设计的目的是要确定系统的概念模型,因为概念模型是数据库系统的核心和基础,所以概念设计是数据库设计的关键。根据上述的数据库及程序总体分析,对E-R图进行逐步细化和设计。1. 用户实体描述E-R图用户名用户密码用户编号用户权限用户图3-4 用户实体E-R图2. 会员实体描述E-R图会员姓名会员电话会员卡号会员会员地址会员编号注册日期图3-5 会员实体E-R图3. 进货记录实体描述E-R图进货编号商品编号备注进货数量办理人进货记录进货日期单价总价图3-6 进货记录实体E-R图4. 销售管理实体描述E-R图库存数量商品价格商品名称商品编号计划进货销售管理厂家编号促销价格促销开始促销结束可打折可销售图3-7 售管理实体E-R图5. 销售录入实体描述E-R图销售日期商品编号销售编号会员卡号销售数量销售录入销售单号总金额销售人支付方式图3-8 销售录入实体E-R图6. 图3-8 实体关系描述图商品编号商品名称会员姓名会员编号会员销售用户编号商品编号会员编号管理管理用户编号用户编号用户用户编号进货编号添加管理用户权限用户编号销售编号进货销售录入销售编号商品编号商品编号进货编号图3-8 实体关系描述(E-R图)3.2.3 数据库数据结构设计依据功能模块设计,数据库概念设计,对于本程序数据库,最终包括用户表(UserTable),会员表(MarketMember),进货记录表(Input),销售管理表(SaleMassage),销售录入表(Sale)。本程序数据库名称:MarketMagSys数据库表结构如下:表3-1 用户表(User Table)字段名字段类型是否空主键/外键字段说明User IDVarchar(10)Not Null主键用户编号User NameVarchar(50)Not Null用户名User PwVarchar(50)Not Null用户密码User StyleVarchar(50)Not Null用户权限表3-2 会员表(MarketMember)字段名字段类型是否空主键/外键字段说明MemberIDVarchar(10)Not Null主键会员编号MemberCardVarchar(20)Not Null会员卡号MemberNameVarchar(50)Null会员姓名MemberPhoneVarchar(50)Null会员电话MemberAddressVarchar(50)Null会员地址RegDatesmalldatetimeNot Null注册日期表3-3 进货记录表(Input)字段名字段类型是否空主键/外键字段说明StockIDVarchar(10)Not Null主键进货编号MerchIDVarchar(10)Not Null外键商品编号MerchNumIntNot Null进货数量MerchPriceMoneyNot Null单价TotaiPricemoneyNot Null总价StockDatesmalldatetimeNot Null进货日期DealManVarchar(10)Not Null外键办理人RemarkVarchar(50)Null注明表3-4 销售管理表(SaleMassage)字段名字段类型是否空主键/外键字段说明MerchIDVarchar(10)Not Null主键商品编号MerchNameVarchar(50)Not Null商品名称MerchPricesmallmoneyNull商品价格MerchNumintNull库存数量PlanNumIntNull计划进货数ProSalePricesmallmoneyNot Null促销价格ProSaleDatessmalldatetimeNot Null促销开始ProSaleDateEsmalldatetimeNot Null促销结束AllowAbateChar(4)Not Null可打折AlowSaleChar(4)Not Null可销售FactoryVarchar(50)Not Null厂家编号表3-5 销售录入表(Sale)字段名字段类型是否空主键/外键字段说明MerchID Varchar(10)Not Null主键商品编号SaleDatesmalldatetimeNot Null外键销售日期SaleNumintNot Null销售数量SumMoneyMoneyNot Null总金额PayWayVarchar(10)Not Null支付方式SalemanVarchar(10)Not Null外键销售人SaleTableIDVarchar(10)Not Null销售单号membercardChar(20)Null会员卡号SaleIDVarchar(10)Not Null销售编号四程序详细设计4.1 数据库配置本程序设计使用SQL server 2005数据库实现后台管理。因此用SQL server 2005.NetFramework数据提供程序的sqlConnection 对象连接数据库。由于在安装SQL server 2005数据库时系统会检查配置时需要.net framework3.0的支持,否则在会安装报错,所以最好先安装Microsoft Visual Studio 2005在安装SQL server 2005时需要注意:在指定账号认证模式和设置步骤时,要采用混合模式,本程序中用户名:sa,密码:123 在SQL server 2005数据库安装完成后为了让其他应用程序访问数据库,要做如下设置:打开配置工具-SQL Server外围应用配置器-服务和连接的外围应用配置器,选择MSSQLSERVER-DATABASE ENGINE-远程连接,选择本地连接和远程连接,同时使用TCP/IP和named pipes 如图4-2图4-1服务和连接的外围应用配置器4.2 功能模块实现4.2.1 用户登录模块用户登录界面如下:图4-2用户登录图4-3 用户名或密码错误提示1) 界面功能说明:为用户进入此程序系统提供的登录窗口。程序首先进行用户输入的用户名和密码与数据库中的相应字段信息进行比较,判断其正确性,然后依据用户名判断其相应的用户权限,若一致,则打开被屏蔽的用户操作界面,依据其用户权限进入相应的操作界面。2) 功能实现的函数说明:在本功能中通过对Connection对象中的属性ConnectionString 设置来提供登录数据库和指向特定数据库的所需信息。设置代码如下:private string connectionString = workstation id=localhost;Integrated Security=SSPI;database=MarketMagSys;通过定义事件方法private void loginbutt_Click()实现判断用户名与密码是 否匹配及判断向相应用户权限功能。3) 界面主要功能代码详细设计:private void loginbutt_Click(object sender, System.EventArgs e) for (int i=0;i 0) UserAmend.RemoveAt(UserAmend.Position);else MessageBox.Show(没有可以删除的数据,提示,MessageBoxButtons.OK,MessageBoxIcon.Error); catch(Exception express) MessageBox.Show(express.ToString(),提示,MessageBoxButtons.OK,MessageBoxIcon.Error); return;提交信息按钮实现的代码如下:private void SubEditButt_Click(object sender, System.EventArgs e) if (this.UserId.Text.Trim() = ) MessageBox.Show(用户编号不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error);return;判断“用户姓名不能为空”,“用户权限不能为空”的代码设计同上(代码略)UserAmend.EndCurrentEdit();if (DGtable.GetChanges() != null) try this.UserMagsqlDataAdapter.Update(DGtable);catch(Exception express) MessageBox.Show(express.ToString(),提示,MessageBoxButtons.OK,MessageBoxIcon.Error);this.DGtable.RejectChanges(); return;1. 添加新用户添加新用户界面如下:图4- 7添加新用户图4-8 错误提示信息对话框1) 界面功能说明:在用户管理界面中点击添加新用户按钮时,会链接到此界面。在添加完用户信息时,系统会将数据插入数据库用户表中保存,并用户可以在用户管理界面的主明细表中浏览到添加的信息。如果输入信息不符合字段设置的规定,则提示相应的错误信息。2) 功能实现的方法说明:在本功能中通过对Connection对象中的属性ConnectionString 设置来提供登录数据库和指向特定数据库的所需信息。private SqlConnection Connection1 = new SqlConnection(workstationid=localhost;database=MarketMagSys;ConnectTimeout=30;Trusted_Connection=yes) ;3) 界面主要功能代码详细设计:通过定义下列事件实现添加新用户命令按钮private void AddUserbutt_Click(object sender, System.EventArgs e) try if (this.UserId.Text != & this.UserName.Text != & this.UserPassword.Text != & this.RoleList.Text != ) if (this.UserPassword.Text = this.ConPwd.Text)使用SQL的插入语句向用户表中插入数据代码如下: NewUserCommand= insert into UserTable(UserID,UserName,UserPW,UserStyle)values( + this.UserId.Text.ToString().Trim() + + , + this.UserName.Text.ToString().Trim() + + , + + this.UserPassword.Text.ToString().Trim() + + , + + this.RoleList.Text.ToString().Trim() + + );SqlCommand1 = new SqlCommand(NewUserCommand, Connection1);/通过ExecuteNonQuery()函数的返回值确定是否插入成功代码如下:int Succnum = SqlCommand1.ExecuteNonQuery();if (Succnum 0) MessageBox.Show(录入成功);this.UserPassword.Text = ;this.ConPwd.Text = ;this.UserId.Text = ;this.UserName.Text= ;else MessageBox.Show(两次用户密码输入不一致!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); this.UserPassword.Text = ; this.ConPwd.Text = ;return; else MessageBox.Show(用户编号、姓名、密码、权限不能为空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error);return; catch (Exception ex)this.UserPassword.Text = ;this.ConPwd.Text = ;this.UserId.Text = ;this.UserName.Text= ;MessageBox.Show(输入错误请重试!错误原因:+ex.ToString(), 提示, MessageBoxButtons.OK, MessageBoxIcon.Error);return; 2. 修改密码修改密码界面如下:图4-9 修改密码图4-10 修改密码错误提示信息1) 界面功能说明:此功能对管理员及普通用户都可见。用户在登录后可以对自己的密码进行修改。程序此时检验确认两次新密码输入一致,若一致,提交到数据库用户表中,否则,则提示密码错误并重新输入。2) 界面主要功能代码详细设计:通过定义下列事件实现修改密码命令按钮。private void Chgbutt_Click(object sender, System.EventArgs e) try if(this.NewPassword.Text=this.ConPwd.Text) SqlConnect1.Open();SqlCommand cmd=cn.CreateCommand();/SQL语句的修改命令完成密码修改功能cmd.CommandText=update userTable Set UserPW=+NewPassword.Text.ToString().Trim()+where UserId=+Login.strUserId+; cmd.ExecuteNonQuery();MessageBox.Show(修改成功!, 提示, MessageBoxButtons.OK);else MessageBox.Show(输入错误请重试!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception) 4.2.4 商品管理模块1. 进货管理进货管理界面如下: 图4-11 进货管理1) 界面功能说明:在此界面用户可以对商品的进货记录进行各种增加,删除,修改等操作,在鼠标单击命令按钮的同时,数据完成在前台界面与后台数据库之间的数据传递。在对此界面操作后可以在库存管理界面查询到所有与进货相匹配的数据。2) 功能实现的方法说明:在此首先通过使用控件的DateBings属性调用方法Add()实现一个空间与一个数据元素的数据绑定。代码如下:this.InputId.DataBindings.Add(Text, FinishStockdtable, 进货编号);FinishStockCurrenAmend = (CurrencyManager) BindingContextFinishStockdtable其他控件与其数据之间的数据绑定功能实现方法同上。3) 界面主要功能代码详细设计:通过定义下列事件实现每个tool_button命令按钮功能。private void EditMerchInfoTool_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)实现“新纪录”按钮功能代码如下: if (e.Button.ToolTipText = 新记录) FinishStockCurrenAmend.AddNew();return;实现“删除记录”按钮功能代码如下: if (e.Button.ToolTipText = 删除记录) if (MessageBox.Show(确实要删除这条记录吗?,询问,MessageBoxButtons.YesNo) = DialogResult.Yes) try if (FinishStockCurrenAmend.Count 0)FinishStockCurrenAmend.RemoveAt(FinishStockCurrenAmend.Position); else MessageBox.Show(没有可以删除的数据,提示,MessageBoxButtons.OK,MessageBoxIcon.Error); catch(Exception express) MessageBox.Show(express.ToString(),提示,MessageBoxButtons.OK,MessageBoxIcon.Error); return; /实现“保存修改”按钮功能代码如下: if (e.Button.ToolTipText = 保存修改) if (this.InputNumber.Text.Trim() = )/对每一字段的错误都会弹出提示信息 MessageBox.Show(进货数量不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error);return;if (this.Price.Text.Trim()=) MessageBox.Show(商品单价不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error); return; if (this.Sum.Text.Trim() = ) MessageBox.Show(总额不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error); return; if (this.InputDate.Text.Trim()=) MessageBox.Show(进货日期不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error);return;if (this.OpertionMan.Text.Trim() = ) MessageBox.Show(经手人不能为空!,提示,MessageBoxButtons.OK,MessageBoxIcon.Error);return;FinishStockCurrenAmend.EndCurrentEdit();if (FinishStockdtable.GetChanges() != null) try this.FinishStocksqlDataAdapter.Update(FinishStockdtable);/使用修改语句完成修改提交功能catch(Exception express) MessageBox.Show(express.ToString(),提示,MessageBoxButtons.OK,MessageBoxIcon.Error);this.FinishStockdtable.RejectCh
展开阅读全文