• 655.00 KB
  • 2022-05-16 18:35:18 发布

基于仓库管理系统的设计毕业论文

  • 63页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
摘要数据库技术是计算机科学技术中发展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业,而且已围绕数据库技术形成了一个巨大的软件产业,及数据库管理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的发展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效实用系统,形成了“哪里有计算机,哪里就有数据库”的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。SQLSereve是目前应用比较广泛的关系型数据库标准语言之一。现在,SQL已成为国际标准语言,各种类型的计算机和DBS都采用SQL作为其存取语言和标准接口,从而使数据库世界有可能链接为一个统一的整体。以数据库技术作为后台的可视化应用也越来越受到人们的喜爱,C#是目前应用比较流行的可视化编程软件之一。它的功能强大,系统自带的代码较为齐,容易操作,受到很多用户的喜欢。本程序将使用SQLServer2005与C#来组成一个仓库管理系统。关键词:数据库原理SQLServer2005visualC# 目录摘要I目录I第一章绪论11.1课程设计的目的1摘要11.2理论研究的基础21.2.1.理论研究基础21.3课题研究的主要内容2第二章系统需求分析22.1系统的功能模块3.1.4E-R模型52.2系统的输入输出数据测试62.2.1信息的添加测试62.2.2数据查询测试72.2.3数据删除测试82.2.4数据修改测试9第三章概要设计103.1.1管理员103.1.2工人103.2实现方法10第四章详细设计104.1数据库实现10 4.1.1添加模块154.2查询模块214.3修改模块234.4删除功能的关键代码25第五章调试分析27总结28致谢28参考文献28附录28附录1登陆28附录2工人主窗体27附录3管理员主窗体30附录4添加34附录5修改39附录6查询41附录7删除41 第一章绪论从20世纪50年代中期开始,计算机应用由科学研究部门逐渐扩展到企业、行政部门,数据处理已成为计算机的主要应用。60年代末,数据库技术是作为数据处理中的一门新技术发展起来的。经过近40年的发展,数据库技术已是计算机软件的一个重要分支,形成了较为完整的理论体系和实用技术。随着数据规模的不断扩大,数据量急剧增长,数据库系统应运而生了。数据库系统提供了对数据的跟高级更有效的的管理。它主要存在采用数据模型表示复杂的数据结构,有较高的数据独立性等特点。还为用户提供了方便的用户接口。数据库管理系统的数据模型主要有层次模型、网状模型、关系模型、和面向对象模型,其中关系模型的应用最广泛。数据库是长期存储在计算机内部、有组织的、统一管理的相关数据集合。数据库能为各种用户共享,具有较小的冗余度、数据间关系紧密而又有较高的数据独立性等特点。数据库是计算机专业的一门有重要地位的专业基础课,几乎所有的应用系统都是建立在数据库的基础之上的。1.1课程设计的目的熟悉大型数据库管理系统的结构与组成;熟悉数据库应用系统的设计方法和开发过程;掌握一种大型数据库管理系统SQLSERVER的应用技术和开发工具的使用;熟悉数据库设计工具的使用;熟悉数据库安全的相关知识和技术;熟悉数据库系统的管理和维护。摘要数据库技术是计算机科学技术中发展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业,而且已围绕数据库技术形成了一个巨大的软件产业,及数据库管理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的发展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效实用系统,形成了“哪里有计算机,哪里就有数据库”60 的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。本选题能够加强自己的团队合作,懂得将理论与实际相结合,通过课程设计,加深了对数据库原理教学内容的了解,以及实现数据库原理各部分知识的融合。进而提高自我分析问题、解决问题,从而运用所学知识解决实际问题的能力。对以后开发大型的数据库系统是一个基础,和以后的工作中与别人协作的经验。1.2理论研究的基础1.2.1.理论研究基础(1)数据库的创建,数据表的建立。(2)在数据表中插入信息,设置主键约束,外键约束、唯一性约束。(3)数据表中表与表之间关系的建立,尽量避免出现数据冗余。(4)C#中窗体的建立,控件的使用。(5)数据库与C#的链接。1.2.2.技术层面的支持操作系统windowsxp,VisualStudio2005,SQLServer2005.1.3课题研究的主要内容仓库管理系统,他有两级用户,分别是管理员和工人。管理员相当于这个仓库的主管,可以对仓库里的产品信息、库存信息、管理员信息、工人信息、订单表信息、公司信息进行添加、查询、修改、和删除操作。而工人就相当于日常里在仓库里工作的工人,它可以对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、查询、修改、和删除。二者都需要输入密码才能进入,管理员要输入用户名和密码,经核对正确后才能进入,而工人则要输入姓名和工号,经核对正确后才能进入。第二章系统需求分析60 其实本系统最主要的功能就是对数据的添加、删除、修改和查询。只是因为管理权限的不同,执行的功能也就不同。权限最高的管理员,他可以对所有的信息进行添加、修改、查询、删除;其次是工人,它可以对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、查询、修除。当不同的用户登录本系统时,系统会根据他输入的用户名和密码进行判断,判断的过程其实就是在数据库中查找数据的过程,如果找到就会登陆倒下一个界面,如果没有找到,就会告诉你“您输入的用户名或密码有误,请验证后再重新输入!”下面将对本系统的基本数据输入输出进行详细的叙述。2.1系统的功能模块2.1.1.管理员的功能模块图管理员对仓库进行管理管理工人信息添加信息修改信息查询信息修改工人登陆添加新的管理员添加新的工人修改管理员登陆数据删除1.60 如图--2-12.1.2工人的能模块工人删除信息添加信息查询信息修改信息按产品信息按订单信息按仓库库存按公司信息公司信息产品信息订单信息仓库库存显示所有信息编号查询现实所有信息入库时间货物代号支付情况所在城市所供应产品显示所有信息价格查询类型查询编号查询显示所有信息按产品编号修改入库信息删除改出库信息删除改公司信息删除改用户删除订单删除按货物代号修改按价格修改按公司信息修改按生产日期修改60 如图—2-2产品价格.1.4E-R模型货物类别商品名称商品编号管理员所属公司保证期管理产品信息数量单位生产日期仓库信息城市管理公司信息供应商编号联系方式工人管理员供应商名供应产品产品编号库存信息市场加分产品数量密码用户名60 订单表总价格产品编号经手人工号取货时间货物数量付款情况商品编号货物代号如图—2-32.2系统的输入输出数据测试2.2.1信息的添加测试以对产品信息的添加为例。产品信息的添加,管理员和工人都有这项功能。而且里面有容错,比如说产品编号应为数字,如果输入的是汉字或字符,则会有提示要重新输入,输入字符。每一个都有,例如编号、生产日期和产品价格是数字,名称、数量单位、保证期、货物类别、所属公司是汉字。当完全符合后才能添加到数据表中。对产品信息添加的测试输入错误数据类型如图—2-460 在对产品信息进行添加的时候,系统会对输入的数据进行验证,如果输入的类型与要求的数据类型不符,系统会弹出一个提示框,告诉你每一个属性的正确的数据类型。并且不能添加成功。当所有的属性都输入正确的数据类型时,你单击注册按钮,系统会告诉你添加成功。所加信息就会进入到数据表中。2.2.2数据查询测试管理员和工人都可以进行查询操作。不同的是管理员可以对所有信息表进行只能查询,而工人则不能对工人信息和管理员信息的查询。查询可以显示所要查询表中的所有信息也可以根据各个表中信息的特征进行查询,例如可以根据产品信息的编号查询、货物类型查询、货物价格查询。因为基本上都差不多,在此就不一一列举了。以对产品编号查询为例。(1)显示所有产品信息60 如图—2-5(2)按产品编号进行查询如图—2-6说明:在查询产品信息时可以按产品编号、货物类型、货物价格进行查询。当输入的信息在数据库中找不到时,系统会提示无此产品的信息。2.2.3数据删除测试工人和管理员都可以进行删除操作,只是管理员可以对所有的信息表进行删除操作,而工人则不可以对管理员的信息和工人的信息进行删除操作。以删除产品信息为例,要先输入所要删除产品信息的编号,先在表中查询出来,然后选中这一行,点击删除按钮,系统提示是否真的要删除,选择是,则就将此信息在信息表中删除。60 如图—2-7说明:在进行删除之前,首先要根据所输入的表中信息的某种特征查询出此信息,当单击删除按钮时,系统会提示你是否要删除,当再次单击是时信息就真的被删除了,此时系统会告诉你信息已成功删除。2.2.4数据修改测试工人和管理员都可以进行修改操作,只是管理员可以对所有的信息表进行修改操作,而工人则不可以对管理员的信息和工人的信息进行修改操作。以修改产品信息为例,要先输入所要修改产品信息的编号,先在表中查询出来,然后修改所要修改的地方,然后点击保存修改按钮,系统提示已经将所改的信息存入表中。如图—2-8说明:当要对信息进行修改时,先要查出要修改的信息,修改完毕后,单击保存修改按钮时,系统会提示你已成功更新记录。60 第三章概要设计3.1设计思想3.1.1管理员管理员,是系统用户中权限最高的,他拥有对所有表中信息的操作能力。3.1.2工人工人是二级用户,他不能对工人信息表和管理员信息表进行操作。3.2实现方法先用SQL语句建立了数据库和各个表及各种约束,添加、修改、查询、删除的功能主要是用代码与数据库连接,再对数据进行操作的里面也用到了SQL语言。C#中的各种控件的应用在本系统的实现中起着举足轻重的作用。第四章详细设计4.1数据库实现createdatabase仓库管理系统on(name=manage_data,filename="f:manage_data.mdf",size=4,maxsize=10,filegrowth=10%)logon(name=sale1_log,filename="f:manage_log.mdf",size=1,maxsize=6,filegrowth=160 )use仓库管理系统gocreatetable产品信息(编号intnotnull,名称char(20),数量单位char(2),货物类别CHAR(10),所属公司char(50)notnull,生产日期char(50)notnull,保证期char(50)notnull,产品价格float(20)notnull,primarykey(编号))insertinto产品信息values("01","可口可乐","瓶","饮料","天津可口可乐有限公司","2009-06-01","1月","2.5")insertinto产品信息values("02","农夫山泉","瓶","饮料","农夫山泉有限公司","2008-12-11","20天","1.0")insertinto产品信息values("03","奥利奥饼干","袋","食品","奥利奥股份有限责任公司","2008-11-11","10天","3.0")insertinto产品信息values("04","数据库系统教程","本","图书","高等教育出版社","2007-05-23","1年","33.20")insertinto产品信息values("05","康师傅冰红茶","瓶","饮料","康师傅有限责任公司","2009-06-01","1月","2.5")insertinto产品信息values("06","舒蕾洗发露","瓶","生活用品","广州宝洁有限责任公司","2008-06-01","5月","15")insertinto产品信息values("07","清扬洗发露","瓶","生活用品","清扬洗发露有限公司","2008-08-01","9月","25")insertinto产品信息values("08","阿胶枣","袋","食品","沧州阔源食品有限公司","2008-08-01","2月","5")insertinto产品信息values("09","冰淇淋旦筒","箱","食品","深圳市麦尔斯顿贸易商行","2008-11-01","10天","50")insertinto产品信息values("10","蒙牛早餐奶","箱","食品","内蒙古蒙牛有限责任公司","2009-5-12","10天","23")insertinto产品信息values("11","王中王香肠","箱","食品","王中王肉制品有限公司","2009-5-12","5天","23")use仓库管理系统gocreatetable用户信息表(60 用户名char(20)primarykey,密码char(10),姓名char(20)notnull,性别char(20)notnull,家庭地址char(50))insertinto用户信息表values("1001","30","王通","男","河北省保定市")insertinto用户信息表values("1002","32","李树冰","男","河北省沧州市")use仓库管理系统gocreatetable工人信息表(工人编号char(20)notnullprimarykey,姓名char(20)notnull,性别char(20)notnull,家庭地址varchar(50),)insertinto工人信息表values("01","张三","男","河北省廊坊市")insertinto工人信息表values("02","李四","男","河北省石家庄市")insertinto工人信息表values("03","王明","男","河北省保定市")insertinto工人信息表values("04","赵娟","女","北京市")createtable库存信息(编号intnotnullprimarykey,货物数量INTnotnull,市场价float(20)notnull)insertinto库存信息values("01","100","2.5")insertinto库存信息values("04","500","33.20")insertinto库存信息values("05","200","2.5")insertinto库存信息values("07","20","25")insertinto库存信息values("08","22","5")insertinto库存信息values("10","20","23")use仓库管理系统go60 createtable订货单表(编号intprimarykey,货物代号intnotnull,创建时间char(50)notnull,总价格char(10)notnull,付款情况char(10),货物数量intnotnull,经手人工号char(20)notnull,取货时间char(50))insertinto订货单表values("01","01","2009-02-23","2500","否","1000","1002","2009-03-12")use仓库管理系统gocreatetable公司信息表(供应商编号intnotnullprimarykey,供应商名char(50),城市char(50),供应产品char(20),联系方式char(50))insertinto公司信息表values("01","天津可口可乐有限公司","天津市","可口可乐","15961752736")60 4.1系统模块实现4.1.1添加模块如图—3-1对订单表进行添加的代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace仓库管理系统2{publicpartialclass订单表添加:Form{privateSqlDataAdapterobjSqlDataAdapter;privateSqlConnectionobjSqlConn;privateDataSetobjDataSet;privateSqlParameterobjSqlParameter;public订单表添加(){InitializeComponent();}privateboolValidateFields()//判断基本信息输入60 {boolreturnValue=true;if(textBox1.Text==""){MessageBox.Show("编号不能为空,请输入商品编号!","提示");textBox1.Focus();returnfalse;}else{for(inti=0;i