仓库管理系统的设计与开发.doc
实实践践课课题题设设计计任任务务书书姓姓 名名题题 目目仓库管理系统设设计计任任务务1.程序的可行性分析,了解系统开发的背景,进行需求分析(独立完成)2.对系统作出总体设计,构造体系结构,画出主要的程序流程图,进行详细设计,划分出具体的功能模块(独立完成)3.实现管理员与客户的登录界面(独立完成)4.具体实现各个模块功能,如添加、删除、更改、查询。查询有多种方式如全部,综合,条件查询等(独立完成)5.测试及对程序的修改,纠正(独立完成)设计工具:Microsoft Visual studio2005、 SQL2000、Photoshop时时间间进进度度第 1 周(11-08-2911-09-02):开始在文档中设计数据库表格,编写需求分析第 2 周(11-09-0211-09-09):开始进行编写概要设计和界面窗体设计第 3 周(11-09-0911-09-16):进行代码的编写和数据库的设计以及最后的完善原原 主主始始 要要资资 参参料料 考考与与 文文 献献指导教师签字:指导教师签字: 年年 月月 日日仓库管理系统的设计与开发摘 要仓库管理系统是一种管理商业企业中各种数据的软件,利用本系统用户可以很方便地对企业仓库进行有效的管理。本文首先简要介绍了我国商业企业的现状以及进销存数据管理系统的特点、功能和使用对象,使读者对进销存管理系统有了初步的认识。接着详细介绍了数据库和 VB 的相关知识;在编程工具方面,主要介绍了 VB 的特点和怎样用 VB 操作数据库。最后,笔者给出了所完成的进销存数据管理系统说明书,主要内容包括软件的功能、设计框图、数据库结构和各模块的操作说明。因此,一个现代化的仓库管理系统需要开发。仓库管理系统包括需求分析,概要设计,详细设计,编码,系统测试,结束语和运行结果截图。该系统包括管理员的登录以及普通用户的登录和对仓库物资信息的查询、修改,添加、删除等,经过测试表明该系统功能完善,易于使用。关键词: 仓库管理;SQL 数据库;visual studio目 录摘摘 要要.2第第 1 章章 前言前言.11.1 概述.11.1.1 编写的背景.11.1.2 文档内容.11.1.3 具体的分工.1第第 2 章章 需求分析需求分析.22.1 用户需求.22.1.1 管理员需求.22.1.2 普通用户.22.1.3 该系统基本功能需求.32.1.4 用户界面需求.32.1.5 系统需求分析.32.2 功能需求.32.2.1 用户功能.32.2.2 管理员功能.42.3 数据库需求分析.42.3.1 信息需求.42.3.2 处理需求.4第第 3 章章 数据库设计数据库设计.63.1 建立数据库的设计思路.63.2 实体以及属性之间的关系.63.2.1 实体及其属性:(主键以下画线表示).63.2.2 E-R 图分析.73.2.3 数据库表设计:.73.3 流程图.8第第 4 章章 系统设计与实现系统设计与实现.94.1 系统所需表.104.2 系统界面设计.104.2.1 模块.10第第 5 章章 系统测试系统测试.155.1 所遇问题.155.2 系统的运行和测试.155.2.1 系统测试要点.155.2.2 测试内容.155.2.3 测试结果.16第第 6 章章 结束语结束语.17附录附录 A: 主要源程序主要源程序.21第 1 章 前言1.1 概述1.1.1 编写的背景仓库管理的基本功能包括了物品的进出、库存、及其信息处理等三个方面,其中,物品的出入库与在库管理可以说是仓库的最基本的活动,也是传统仓库的基本功能,只不过管理手段与管理水平得到了提升;至于信息处理,已经是现代经济活动的普遍现象,当然也应是仓库活动的内容之一,仓库管理的目的是为了满足供应链上下游的需求,所以离开了信息处理,也就不称其为现代仓库管理了。为实现仓库管理信息电子化,特此开发此系统。1.1.2 文档内容本文档第一章为引言部分,介绍本项目的开发简单介绍和本文档的格式约定以及开发的背景。第二章到第五章分别介绍了本项目的功能及需求分析(主要是用户、功能、数据库等方面的实现) 。本文档主要介绍仓库进销存管理系统(完成系统功能的实现) ,解释对系统不明白的地方(解释系统一些细节) ,使系统能够更好的使用(方便管理员的管理和用户的使用) 。还有就是编写系统的代码(实现系统功能所编著的 C#代码) ,数据库建表的思路和通过三周了课题实践的心得体会。1.1.3 具体的分工表 1.1 任务表小组成员主要任务系统的总设计;出库管理,入库管理,库存管理代码的编写;代码,数据库,界面的校正和完善数据库的设计;用户操作代码的编写;文档的校正和完善;界面的设计;物资信息管理代码的编写;文档的设计及编写;第 2 章 需求分析仓库管理系统用计算机管理仓库库存进出管理的一种计算机应用技术的创新,在计算机还未普及之前库存管理都是由工作人员手工书写的方式来操作的.现在一般的仓库都采用计算机智能化管理,采用计算机作为工具的实用的计算机仓库库存管理程序来帮助管理员进行更有效的超市库存管理工作。仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 visual studio 2005 作为开发工具,利用其提供的各种窗体的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本系统业务流程如下:第一、管理员管理通过登录管理员的学号和密码,进行对出入库信息的录入。第二、管理员登录系统,在统计工作中对物资信息的实际情况进行核对和修改。第三、仓库管理员管理,如果有需要,可根据物资编号或名称来对物资进行查询。第五、仓库管理员有权利新建用户和新建管理员。!普通用户仅可根据自己的登录密码来进行查询和浏览操作。第六、仓库管理员和普通用户都有修改密码的权限。2.1 用户需求用户主要包括普通用户和管理员。2.1.1 管理员需求仓库管理员是本系统使用量最大的用户,仓库管理系统的开发不仅仅是为了仓库管理人员更加方便的对物资出入库物资信息情况进行统计,对出入库物资信息进行浏览和查询,也便于管理员对这些信息的核对,提高仓库管理物资的准确性。管理员具备的新建用户和修改用户信息的权限也进一步提高了仓库管理系统的安全性2.1.2 普通用户普通用户作为最基层的管理人员,仅仅能实施查询和浏览的操作,只是需要对物资出入库信息,物资库存信息进行核对和统计,如果发现异常,要即刻向管理员递交申请,要求对错误信息进行修改,对出库信息的统计可方便普通用户了解市场需要,进而调节进货方向。2.1.3 该系统基本功能需求1. 用户操作:注销、修改用户信息、新建用户;2. 物资信息设置:添加物资、修改物资、查询物资;3. 入库管理:添加入库信息、修改入库信息、查询入库信息、浏览入库信息;4. 出库管理:添加出库信息、修改出库信息、查询出库信息、浏览出库信息;5. 库存管理:查询物资的库存信息、浏览物资的库存信息我实现的模块:入库管理、出库管理、库存管理;2.1.4 用户界面需求对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。如尽量减少用户输入次数,查询清晰明了,多使用快捷按扭等。2.1.5 系统需求分析对物资入库情况的录入和统计;对物资出库情况的录入和统计;对物资进行按编号或商品名称来进行查询。2.2 功能需求主要是针对系统实现的功能以及普通用户和管理员的使用进行详细介绍。2.2.1 用户功能普通用户功能就是对物资的如图 2.1 所示。普通用户浏览和查询入库信息浏览和查询出库信息浏览和查询库存信息图 2.1 普通用户功能模块图2.2.2 管理员功能管理员所需要实现的功能就是对出入库的记录,针对有问题的记录进行修改。管理员物资信息设置入库管理出库管理库存管理添加物资修改物资查询物资添加入库信息修改入库信息查询入库信息浏览入库信息添加出库信息修改出库信息查询出库信息浏览出库信息查询库存信息浏览库存信息图 2.1 管理员功能模块图2.3 数据库需求分析数据库需求分析调查的重点是“数据”和“处理” ,通过调查、收集和分析,获得用户对数据库的需求。2.3.1 信息需求指用户需要从数据库中获得信息的内容与性质,即在数据库中需要存储那些数据。2.3.2 处理需求处理需求:指用户需要完成什么处理功能,明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。 在仓库管理系统中,对于每一个具体的对象都有相应的表存储数据,针对四类操作的功能需求,该系统数据库共设计了十一个表,在后期实现打印报表阶段,根据需要我们会增加几个临时表,以便实现打印报表的功能。第 3 章 数据库设计3.1 建立数据库的设计思路数据库工具:为了更好的处理系统用户、物资信息、入库信息、出库信息和浏览查询,等之间较为复杂的关系。所以建立了管理员表、入库信息表、出库信息表、以及库存。查询方式:管理员通过登陆系统对系统进行更改、根据普通用户的申请对出入库及库存信息作出核对和修改。3.2 实体以及属性之间的关系3.2.1 实体及其属性实体与属性其主键以下划线标识:Instore(入库物资信息表): id(物资编号) 、Name(物资名称) 、Model(物资类型) 、Inprice(入库价格) 、innumber(入库数量) 、invalue(入库物资总价值)Indate(入库时间) 、Indealer(经手人) 、Remark(备注)Load1(用户登录表): users(用户帐号) 、password(登录密码) 、role(登录角色)Newstore(库存物资信息): id(物资编号) 、name(物资名称) 、size(物资型号) 、category(种类) 、unit(单位)Outstore(出库物资信息表): id(物资编号) 、Name(物资名称) 、Model(物资类型)、Outprice(出库价格) 、Outnumber(出库数量) 、Outvalue(出库物资总价值)Outdate(出库时间) 、Outdealer(经手人) 、Remark(备注)3.2.2 E-R 图分析管理员用户名密码角色管理仓库普通用户浏览查询组成经办人物品编号总价值物品价格物品名数量类型仓库名用户名密码图 3.13.2.3 数据库表设计:表 3.1 入库登记信息表字段名类型描述NumberInt物资编号(手动生成,主键)namechar名称modelint型号Inpricedouble价格Inaccountint数量Indatechar入库时间Indealerchar登记人员RemarkeChar备注表 3.2 入库物资信息表物资编号物资类型生产日期生产地址价格数量入库时间登记人员表 3.3 出库物资信息表字段名类型描述NumberInt物资编号(自动生成,主键)namechar名称modelint型号Outpricedouble价格Outaccountint数量Outdatechar出库时间Outdealerchar登记人员RemarkChar备注表 3.4 出库物资信息表物资编号物资类型生产日期生产地址价格数量出库时间登记人员3.3 流程图由此流程图进行仓库管理系统的开发如图 3-2 所示。用户管理Index=?注销修改用户信息新增用户退出0123物资信息设置Index=?添加物资修改物资查询物资添加成功终止修改成功终止查询成功终止012开始登陆验证用户名和密码NY进入管理员界面进入普通用户界面YN验证管理员用户管理物资信息设置入库信息管理出库信息管理库存信息管理管理员选择用户管理物资信息设置入库信息管理出库信息管理库存信息管理用户选择图 3.2第 4 章 系统设计与实现4.1 系统所需表综合以上分析,要实现上面的所有共能模块,共需要设计四个表,它们分别是:用户信息表、库存表、入库表、出库表4.2 系统界面设计在软件管理系统日益广泛使用的今天,开发一个有效并且适用于仓库管理系统将会解决许多的人力资源管理仓库所存在的许多弊端,将会为仓库管理节省许多的时间,方便了仓库管理员的管理。4.2.1 模块1,管理员登录界面的实现:因为管理员的信息都存在数据库中,此时管理员只需输入与自己的账号相对应的密码即可,操作方便。管理员输入密码后,程序中会根据查询语句判断管理员输入的密码是否与数据库中保存的密码一致,若一致进入服务器主界面,若不一致则提示“你输入的密码错误或此用户不存在” ,提示管理员输入正确的密码或选择正确的账号。图 4.1 登录界面用户登录或管理员登陆时,系统查询用户信息,并进行信息核对,登录成功时:会有信息提示。图 4.2 登录成功界面 当用户输入不正确时,系统会自动生成登陆不正确字样:图 4.3 账号错误界面若正确则显示下一界面,也就是主界面:图 4.4 管理员的主菜单界面用户操作:注销、新建用户信息、修改用户信息、退出功能。物资信息设置:添加物资信息、修改物资信息、查询物资信息的功能。入库管理:添加入库信息、修改入库信息、查询入库信息、浏览入库信息的功能。出库管理:添加出库信息、修改出库信息、查询出库信息、浏览出库信息的功能。库存管理:查询库存的信息、浏览库存信息的功能。图 4.5 管理员的可操作功能显示2、普通用户普通用户主页面如图 4.6 所示。图 4.6 普通用户的主菜单界面用户操作:注销、退出功能。物资信息设置:查询物资信息的功能。入库管理:查询入库信息、浏览入库信息的功能。出库管理:查询出库信息、浏览出库信息的功能。库存管理:查询库存的信息、浏览库存信息的功能。主要功能如图:图 4.7 普通用户的可操作功能显示可以通过此窗体向数据库中专业基本信息表中添加专业的相关信息以及对数据库中专业的信息进行查询和修改。1用户操作:注销、新建用户信息、修改用户信息、退出 。注销:注销回到登陆界面。新建用户信息功能模块:根据用户名称、密码、角色更改,实现管理员对普通用户的信息修改、角色修改、实现管理员的不同功能如图 4.8 所示图 4.8 用户信息修改功能新建用户信息:管理员通过添加用户来实现多个人员的管理。功能如图 4.9 所示图 4.9 添加用户的界面显示第 5 章 系统测试经过测试,该应用程序能够较好的实现各个功能:能够很好的实现信息的添加、删除、修改、查询;能够完善的实现根据不同的用户进入不同的登录界面;对于只有是管理员才能注册的功能也能很好的实现;能够对进行不同的查询功能可以根据给定的条件具体查询,也可以进行模糊查询。5.1 所遇问题刚开始程序连接数据库时,综合查询不能实现,更新出现问题,老出现看不明白的异常,使程序中断。数据库与代码连接时,执行一条只查询一部分数据时,无法修改数据。后来经过查阅和思考,终于解决。从中让我学会了怎么连接。刚开始不会连接数据库,老是连接错误,后来经过思考和查阅资料和组员一起讨论研究,终于学会怎样处理这样的问题。5.2 系统的运行和测试系统功能的运行是:首先进入首页界面,然后选择登录类型系统将根据你的登录类型进入不同的界面。注意区别开来管理员与普通用户之间的权限功能。5.2.1 系统测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。对用户输入的响应:正确输入,能够正常调用子模块;输入错误:系统能否辨别,并做出响应(提出警告);子模块的异常状况,系统能否及时做出响应。模块正常运行流程用户输入数据检查,包括数据合理性检查,以及合法性检查。数据库操作:数据库连接正常、数据库连接异常。数据库连接正常:输入合理合法参数、输入参数不。5.2.2 测试内容为更好的完成系统的功能测试,编写测试用例如表 5.1 所示。因篇幅有限表 5.1 中只列出主要的测试用例的标题和期望结果。这些测试用例不仅测试管理员模块系统设计的主要功能,还包括系统安全的测试。表 5.1 测试用例序号测试用例标题期望结果1添加用户验证用户是否具有权限,如果没有,不允许操作;如果有则正确判断用户名是否已存在,如已存在给出错误提示, 2修改用户权限验证用户是否具有权限,如果没有,不允许操作;如果有则根据用户所需得到正确并进行修改。只有管理员才能对物资信息进行修改,普通用户只能查询3按物资名称查询验证用户是否具有权限,如果没有,不允许操作。4按物资编号查询验证用户是否具有权限,如果没有,不允许操作。5.2.3 测试结果对照表 5.1 中的测试内容,表 5.2 给出其对应的测试结果。由测试结果可以看出:该课题机房管理系统能够完成对课题申报的管理,系统安全性也能得到很好的控制。表 5.2 测试结果序号测试用例标题测试结果期望结果1添加用户通过验证用户是否具有权限,如果没有,不允许操作;如果有则正确判断用户名是否已存在,如已存在给出错误提示, 2修改用户权限通过验证用户是否具有权限,如果没有,不允许操作;如果有则根据用户所需得到正确并进行修改。只有管理员才能对物资信息进行修改,普通用户只能查询3按物资名称查询通过验证用户是否具有权限,如果没有,不允许操作。4按物资编号查询通过验证用户是否具有权限,如果没有,不允许操作。第 6 章 结束语经过了这次仓库管理系统的课程设计我从中学到了很多,同时明白了做一个小型软件的步骤和流程.如何让自己设计的软件运用到具体的实际工作中,这是一个关键的环节.还有就是程序设计和运行测试中遇到的问题该如何解决,从解决问题中我也学到了许多平时课本上所没有的知识.当然,能够完成这个仓库管理系统我自己也感觉很有成就感.运用到的开发工具和软件技术:此系统结合货物仓库管理的要求,对 Visual Studio 2005C#程序开发系统、SQL Sever 2005 数据库管理系统、SQL 语言的学习和应用,主要完成货物仓库管理系统的需求分析,系统的数据库设计和实现,系统的表单设计,主控程序设计,并由此设计了数据库结构和应用程序。系统运行结果证明,本人设计的货物仓库管理系统可以满足仓库管理者完成仓库管理的日常工作,包括材料的入库,出库以及库存材料信息的管理维护等软件还需要哪些改进: 在编写源程序代码的过程中对语言的运用还需要提高,应使写出来的程序更加简洁,易读懂,更加满足实际工作的需要.要想使做出来的程序更好的利用还需根据实际需要在今后的运用中不断的改进和完善.通过这一次二级课题的编写我学会了很多东西,也发现了自己以前没注意到的很多错误。比如以前总是敲代码的时候不细心,容易在一些小问题上面处错误而导致浪费很多时间在这些小问题上。还有以前学习的时候有一些问题弄不明白的时候总爱自己一个人琢磨,通过这次课题团队合作我学会了和他人一起讨论问题一起解决问题,不仅加快了问题的解决时间,还从同学那里写到了很多宝贵的经验。在课题的进程中我们都遇到了一个共同的问题就是数据库和系统的连接方面的问题,我发现这是我们的弱点。在老师的耐心讲解和演示下我们一点点的学习练习,最后我终于学会了熟练的连接数据库,创建数据库等以前不会的技术要点。还有要特别感谢老师,在他的耐心指导和帮助下我学会了编辑文档。通过杨老师的讲解我认识到了作为一个程序员不仅要熟练的掌握代码的编写,还要熟练掌握文档的编写,因为文档能够清晰的表达你所开发的系统的主要功能、用途等。在老师的帮助下我学会了编辑文档,学会了使用不同的编辑工具。最主要的是我学会了如何分析问题即如何做系统的需求分析。只有需求分析做好了做透彻了才能更明了的做系统编写代码。以前我在开发系统做题的时候都是直接去写代码,有时错了很多,因此这次我认识到了做需求分析的重要性。同时我还认识到了网络资源的重要性。有时候是在解决不了的问题,就向周边同学请教,大家一同来讨论研究,最终得到好的解决方法。有事遇见大家都难以解决的问题,也可以上网去查询,网络是一个巨大的资源库,只要你细心,就能找到自己需要的东西。要想做一个好的仓库管理系统,并不是靠自己一个人的力量就可以完成的,在实践中,我终于体会到,以前老师教育我们的,做项目一定要有较高的团队合作精神,不能任何事都按照自己的想法去做,这样如果与别人的想法或成果发生冲突,那么还要再次商量改进,比较浪费时间。所以组员都要有团队合作的精神,负责自己作业的同时,依旧要经常与同组的人商讨意见,互相沟通学习,达成一致后共同向目标努力。总之通过这次二级课题我感受很多,也学到了很多,受益匪浅。感谢学校能给我们这样一次锻炼自我的机会,也感谢老师的耐心指导并能及时的纠正我的错误。我将会更加努力的学习并将学到的知识应用到实践中去。谢谢老师们的培养。参考文献指导教师评语 成绩:指导教师签名: 年 月 日 附录 A: 主要源程序仓库管理系统的源程序仓库管理系统的源程序 / / 登录窗体/ / / /定义sql字符串建立连接SqlConnection mysqlconn = new SqlConnection(integrated security=sspi;database=pwd;server=.sqlexpress);/定义DataView试图 DataView mydv = new DataView();if (txtname.Text.Trim() = | txtpwd.Text.Trim() = | txtnewpwd.Text.Trim() = | comrole.Text.Trim() = )/信息提示框 MessageBox.Show(请输入完整的信息!, 警告); else /密码验证 if (txtpwd.Text.Trim() != txtnewpwd.Text.Trim() MessageBox.Show(两次密码输入不一致!, 警告); else /打开连接 mysqlconn.Open(); /sql查询 string sql = select * from load1 where users= + txtname.Text.ToString().Trim() + ; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.Connection = mysqlconn; /如果查询返回值非空 if (null = cmd.ExecuteScalar() string sql1 = insert into load1(users,password,role) + values( + txtname.Text.Trim() + , + txtpwd.Text.Trim() + , + comrole.Text.Trim() + ); cmd.CommandText = sql1; /查询返回所影响的行数 cmd.ExecuteScalar(); MessageBox.Show(添加用户成功!, 提示); /关闭本窗体 this.Close(); else MessageBox.Show(用户名 + txtname.Text.Trim() + 已存在!, 提示); mysqlconn.Close();/关闭连接if (txtid.Text = | txtpwd.Text = ) MessageBox.Show(用户名或密码不能为空, 信息提示); else string connstring; SqlConnection mysqlconn = new SqlConnection(); connstring = Integrated Security=SSPI;database=pwd;server=.SQLEXPRESS; mysqlconn.ConnectionString = connstring; mysqlconn.Open(); DataSet myds = new DataSet(); BindingSource mybs = new BindingSource(); string sql1 = select role from load1 where users= + txtid.Text.Trim() + ; SqlDataAdapter myda = new SqlDataAdapter(sql1, mysqlconn); myda.Fill(myds, store1); mybs = new BindingSource(myds, store1); Binding mybinding1 = new Binding(Text, mybs, role); /manage ma = new manage(); /label5.DataBindings.Add(mybinding1); /ma.label5.Text = txtid.Text; string sql = select * from load1 where users= + txtid.Text + and password= + txtpwd.Text + ; SqlCommand cmd = new SqlCommand(sql, mysqlconn); SqlDataReader rd = cmd.ExecuteReader(); rd.Read(); if (rd.HasRows) /rd.Close(); this.Visible = true ; MessageBox.Show(登陆成功); manage myform = new manage(); myform.label2.Text = this.label5.Text; myform.ShowDialog(); else MessageBox.Show(登录失败, 信息提示); mysqlconn.Close(); rd.Close(); this.Close(); if (e.KeyChar = 13) btnOK_Click(sender, e); if (e.KeyChar = 13) btnOK_Click(sender, e); timer1.Stop(); timer2.Start(); if (this.label1.Location.X + this.label1.Width 0) this.label1.Location = new Point(this.label1.Location.X - 10, this.label1.Location.Y); else this.label1.Location = new Point(this.panel1 .Width, this.label1.Location.Y); this.label1.Location = new Point(this.panel1.Width, this.label1.Location.Y); this.timer1.Start(); SqlConnection mysqlconn = new SqlConnection(integrated security=sspi; database=pwd;server=.SQLEXPRESS); mysqlconn.Open(); DataSet myds = new DataSet(); BindingSource mybs = new BindingSource(); string sql = select role from load1 where users= + txtid.Text.Trim() + ; SqlDataAdapter myda = new SqlDataAdapter(sql, mysqlconn); myda.Fill(myds, store); mybs = new BindingSource(myds, store); Binding mybinding1 = new Binding(Text, mybs, role);mysqlconn.Close();timer1.Start(); timer2.Stop(); if (this.label4.Location.X + this.label4.Width 0) this.label4.Location = new Point(this.label4.Location.X - 10, this.label4.Location.Y); else this.label4.Location = new Point(this.panel1.Width, this.label4.Location.Y); Form myform2 = new addusers(); myform2.ShowDialog(); SqlConnection mysqlconn = new SqlConnection(integrated security=sspi; database=pwd;server=.SQLEXPRESS); mysqlconn.Open(); DataSet myds = new DataSet(); BindingSource mybs = new BindingSource(); string sql = select role from load1 where users= + txtid.Text.Trim() + ; SqlDataAdapter myda = new SqlDataAdapter(sql, mysqlconn); myda.Fill(myds, store); mybs = new BindingSource(myds, store); Binding mybinding1 = new Binding(Text, mybs, role); /Form ma = new manage(); manage ma1 = new manage(); label5.DataBindings.Add(mybinding1); mysqlconn.Close();SqlConnection mysqlconn = new SqlConnection(integrated security=sspi;database=pwd;server=.sqlexpress); DataView mydv = new DataView(); this.Close(); if (txtusername.Text.Trim() = | txtuserpwd.Text.Trim() = | txtnewpwd.Text.Trim() = |txtnewpwd1.Text.Trim() = | comnewrole.Text.Trim() = ) MessageBox.Show(请输入完整的信息!, 提示); else if (txtnewpwd.Text.Trim() != txtnewpwd1.Text.Trim() MessageBox.Show(两次密码输入不一致!, 警告); else mysqlconn.Open(); string sql = select * from load1 where users= + txtusername.Text.ToString().Trim() + and password=+txtuserpwd.Text.Trim()+ ; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.Connection = mysqlconn; if (null != cmd.ExecuteScalar() string sql1 = update load1 set password=+txtnewpwd.Text.Trim()+,role=+comnewrole.Text.Trim()+where users=+txtusername.Text.Trim()+; cmd.CommandText = sql1; cmd.ExecuteScalar(); MessageBox.Show(用户信息修改成功!, 提示); this.Close(); else MessageBox.Show(用户名或密码不正确!, 提示); mysqlconn.Close(); SqlConnection mysqlconn = new SqlConnection(integrated security=sspi;database=pwd;server=.sqlexpress); DataView mydv = new DataView(); SqlCommand cmd; SqlDataAdapter myda; DataSet myds;mysqlconn.Open(); string sql = select * from v_store ; myda = new SqlDataAdapter(sql,mysqlconn ); myds = new DataSet(); myda.Fill(myds, store); dataGridView1.DataSource = myds.Tablesstore; mydv = myds.Tablesstore.DefaultView; dataGridView1.GridColor = Color.RoyalBlue; dataGridView1.ScrollBars = ScrollBars.Both; dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single; dataGridView1.Columns0.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns1.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns2.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns3.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns4.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns5.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns6.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; label2.Text = 当前的库存量有 + myds.Tables0.Rows.Count + 条记录; mysqlconn.Close(); cmd = new SqlCommand(); mysqlconn.Open(); try if (dataGridView1.Rows.Count 0) string sql = delete from instore where id= + dataGridView1.CurrentCell.Value.ToString() + ;/ .SelectedRows0.Cells0.Value.ToString() + ; dataGridView1.Rows.RemoveAt(dataGridView1.CurrentCell.RowIndex); cmd.CommandText = sql; cmd.Connection = mysqlconn; cmd.ExecuteNonQuery();