课程设计基于SQLServer2005与C的仓库管理系统.docx

上传人:牧羊曲112 文档编号:1961232 上传时间:2022-12-28 格式:DOCX 页数:48 大小:312.31KB
返回 下载 相关 举报
课程设计基于SQLServer2005与C的仓库管理系统.docx_第1页
第1页 / 共48页
课程设计基于SQLServer2005与C的仓库管理系统.docx_第2页
第2页 / 共48页
课程设计基于SQLServer2005与C的仓库管理系统.docx_第3页
第3页 / 共48页
课程设计基于SQLServer2005与C的仓库管理系统.docx_第4页
第4页 / 共48页
课程设计基于SQLServer2005与C的仓库管理系统.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《课程设计基于SQLServer2005与C的仓库管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计基于SQLServer2005与C的仓库管理系统.docx(48页珍藏版)》请在三一办公上搜索。

1、课程设计报告课程设计任务书课题名称数据库原理课程设计完成时间指导教师职称副教授学生姓名班级总体设计要求总体设计要求:按着软件工程要求,完成数据库设计,包括:需求分析、关系模式设计、完整性设计、安全性设计。以及应用程序设计和开发任务。选题说明:一组一题,从下列题目中任选一个,在课程设计期间按要求完成设计任务,并提交一份完整的设计报告、已调通的应用系统和其它的相关文档。题目一:人事管理系统 题目二:工资管理系统题目三:能源管理收费系统 题目四:住宅小区小商品交易系统题目五:实验选课系统 题目六: 员工薪资管理题目七: 产品库存管理 题目八: 图书管理系统题目九:商品销售管理系统 题目十: 仪器仪表

2、管理题目十一: 仓库设备管理 题目十二:仓库管理系统题目十三:服装销售系统 题目十四:自选题目工作内容及时间进度安排第一周、周:设计动员,分组,布置课程设计任务。第一周、周2:查阅资料,制定方案,进行程序总体设计。第一周、周3第二周2:详细设计, 系统调试。第二周、周3:整理,撰写设计报告。第二周、周4-周5:验收,提交设计报告,评定成绩。毕业设计成果1、课程设计报告书一份2、应用程序(包括源程序)3、成果使用说明书一份摘 要数据库技术是计算机科学技术中发展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各

3、行各业,而且已围绕数据库技术形成了一个巨大的软件产业,及数据库管理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的发展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效实用系统,形成了“哪里有计算机,哪里就有数据库”的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。SQL Sereve是目前应用比较广泛的关系型数据库标准语言之一。现在,SQL已成为国际标准语言,各种类型的计算机和DBS都采用SQL作为其存取语言和标准接口,从而使数据库

4、世界有可能链接为一个统一的整体。以数据库技术作为后台的可视化应用也越来越受到人们的喜爱,C#是目前应用比较流行的可视化编程软件之一。它的功能强大,系统自带的代码较为齐,容易操作,受到很多用户的喜欢。本程序将使用SQL Server 2005与C#来组成一个仓库管理系统。关键词:数据库原理 SQL Server 2005 visual C# 目 录摘 要I目 录I第一章 绪论11.1 课程设计的目的1摘 要11.2 理论研究的基础21.2.1. 理论研究基础21.3 课题研究的主要内容2第二章 系统需求分析22.1 系统的功能模块3.1.4 E-R模型52.2 系统的输入输出数据测试62.2.1

5、 信息的添加测试62.2.2 数据查询测试72.2.3 数据删除测试82.2.4 数据修改测试9第三章 概要设计10311管理员10312工人1032 实现方法10第四章 详细设计1041数据库实现104.1.1 添加模块1542查询模块2143修改模块234.4删除功能的关键代码25第五章 调试分析27总 结28致 谢28参考文献28附 录28 附录1 登陆28 附录2 工人主窗体27 附录3管理员主窗体30 附录4 添加34 附录5 修改39 附录6 查询41 附录7 删除41第一章 绪论从20世纪50年代中期开始,计算机应用由科学研究部门逐渐扩展到企业、行政部门,数据处理已成为计算机的主

6、要应用。60年代末,数据库技术是作为数据处理中的一门新技术发展起来的。经过近40年的发展,数据库技术已是计算机软件的一个重要分支,形成了较为完整的理论体系和实用技术。随着数据规模的不断扩大,数据量急剧增长,数据库系统应运而生了。数据库系统提供了对数据的跟高级更有效的的管理。它主要存在采用数据模型表示复杂的数据结构,有较高的数据独立性等特点。还为用户提供了方便的用户接口。数据库管理系统的数据模型主要有层次模型、网状模型、关系模型、和面向对象模型,其中关系模型的应用最广泛。数据库是长期存储在计算机内部、有组织的、统一管理的相关数据集合。数据库能为各种用户共享,具有较小的冗余度、数据间关系紧密而又有

7、较高的数据独立性等特点。数据库是计算机专业的一门有重要地位的专业基础课,几乎所有的应用系统都是建立在数据库的基础之上的。1.1 课程设计的目的熟悉大型数据库管理系统的结构与组成;熟悉数据库应用系统的设计方法和开发过程;掌握一种大型数据库管理系统SQL SERVER的应用技术和开发工具的使用;熟悉数据库设计工具的使用;熟悉数据库安全的相关知识和技术;熟悉数据库系统的管理和维护。摘 要数据库技术是计算机科学技术中发展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业,而且已围绕数据库技术形成了一个巨大的软

8、件产业,及数据库管理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的发展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效实用系统,形成了“哪里有计算机,哪里就有数据库”的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。本选题能够加强自己的团队合作,懂得将理论与实际相结合,通过课程设计,加深了对数据库原理教学内容的了解,以及实现数据库原理各部分知识的融合。进而提高自我分析问题、解决问题,从而运用所学知识解决实际问题的能力。对以后开发大

9、型的数据库系统是一个基础,和以后的工作中与别人协作的经验。1.2 理论研究的基础1.2.1. 理论研究基础(1)数据库的创建,数据表的建立。(2)在数据表中插入信息,设置主键约束,外键约束、唯一性约束。(3)数据表中表与表之间关系的建立,尽量避免出现数据冗余。(4)C#中窗体的建立,控件的使用。(5)数据库与C#的链接。1.2.2. 技术层面的支持操作系统windows xp, Visual Studio 2005, SQL Server 2005.1.3 课题研究的主要内容仓库管理系统,他有两级用户,分别是管理员和工人。管理员相当于这个仓库的主管,可以对仓库里的产品信息、库存信息、管理员信息

10、、工人信息、订单表信息、公司信息进行添加、查询、修改、和删除操作。而工人就相当于日常里在仓库里工作的工人,它可以对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、查询、修改、和删除。二者都需要输入密码才能进入,管理员要输入用户名和密码,经核对正确后才能进入,而工人则要输入姓名和工号,经核对正确后才能进入。第二章 系统需求分析其实本系统最主要的功能就是对数据的添加、删除、修改和查询。只是因为管理权限的不同,执行的功能也就不同。权限最高的管理员,他可以对所有的信息进行添加、修改、查询、删除;其次是工人,它可以对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、

11、查询、修除。当不同的用户登录本系统时,系统会根据他输入的用户名和密码进行判断,判断的过程其实就是在数据库中查找数据的过程,如果找到就会登陆倒下一个界面,如果没有找到,就会告诉你“您输入的用户名或密码有误,请验证后再重新输入!”下面将对本系统的基本数据输入输出进行详细的叙述。2.1 系统的功能模块2.1.1. 管理员的功能模块图管理员对仓库进行管理管理工人信息添加信息修改信息查询信息修改工人登陆添加新的管理员添加新的工人修改管理员登陆数据删除1如图-2-12.1.2 工人的能模块工人删除信息添加信息查询信息修改信息按产品信息按订单信息按仓库库存按公司信息公司信息产品信息订单信息仓库库存显示所有信

12、息编号查询现实所有信息入库时间货物代号支付情况所在城市所供应产品显示所有信息价格查询类型查询编号查询显示所有信息按产品编号修改入库信息删除改出库信息删除改公司信息删除改用户删除订单删除按货物代号修改按价格修改按公司信息修改按生产日期修改如图2-2产品价格.1.4 E-R模型货物类别商品名称商品编号管理员所属公司保证期 管理产品信息数量单位生产日期仓库信息城市管理公司信息供应商编号联系方式工人管理员供应商名供应产品产品编号库存信息市场加分产品数量密码用户名订单表总价格产品编号经手人工号取货时间货物数量付款情况商品编号货物代号如图2-32.2 系统的输入输出数据测试2.2.1 信息的添加测试以对产

13、品信息的添加为例。产品信息的添加,管理员和工人都有这项功能。而且里面有容错,比如说产品编号应为数字,如果输入的是汉字或字符,则会有提示要重新输入,输入字符。每一个都有,例如编号、生产日期和产品价格是数字,名称、数量单位、保证期、货物类别、所属公司是汉字。当完全符合后才能添加到数据表中。对产品信息添加的测试输入错误数据类型如图2-4在对产品信息进行添加的时候,系统会对输入的数据进行验证,如果输入的类型与要求的数据类型不符,系统会弹出一个提示框,告诉你每一个属性的正确的数据类型。并且不能添加成功。当所有的属性都输入正确的数据类型时,你单击注册按钮,系统会告诉你添加成功。所加信息就会进入到数据表中。

14、2.2.2 数据查询测试 管理员和工人都可以进行查询操作。不同的是管理员可以对所有信息表进行只能查询,而工人则不能对工人信息和管理员信息的查询。查询可以显示所要查询表中的所有信息也可以根据各个表中信息的特征进行查询,例如可以根据产品信息的编号查询、货物类型查询、货物价格查询。因为基本上都差不多,在此就不一一列举了。以对产品编号查询为例。(1) 显示所有产品信息如图2-5(2) 按产品编号进行查询如图2-6说明:在查询产品信息时可以按产品编号、货物类型、货物价格进行查询。当输入的信息在数据库中找不到时,系统会提示无此产品的信息。2.2.3 数据删除测试工人和管理员都可以进行删除操作,只是管理员可

15、以对所有的信息表进行删除操作,而工人则不可以对管理员的信息和工人的信息进行删除操作。以删除产品信息为例,要先输入所要删除产品信息的编号,先在表中查询出来,然后选中这一行,点击删除按钮,系统提示是否真的要删除,选择是,则就将此信息在信息表中删除。如图2-7说明:在进行删除之前,首先要根据所输入的表中信息的某种特征查询出此信息,当单击删除按钮时,系统会提示你是否要删除,当再次单击是时信息就真的被删除了,此时系统会告诉你信息已成功删除。2.2.4 数据修改测试工人和管理员都可以进行修改操作,只是管理员可以对所有的信息表进行修改操作,而工人则不可以对管理员的信息和工人的信息进行修改操作。以修改产品信息

16、为例,要先输入所要修改产品信息的编号,先在表中查询出来,然后修改所要修改的地方,然后点击保存修改按钮,系统提示已经将所改的信息存入表中。如图2-8说明:当要对信息进行修改时,先要查出要修改的信息,修改完毕后,单击保存修改按钮时,系统会提示你已成功更新记录。第三章 概要设计31 设计思想311管理员管理员,是系统用户中权限最高的,他拥有对所有表中信息的操作能力。312工人工人是二级用户,他不能对工人信息表和管理员信息表进行操作。32 实现方法先用SQL语句建立了数据库和各个表及各种约束,添加、修改、查询、删除的功能主要是用代码与数据库连接,再对数据进行操作的里面也用到了SQL语言。C#中的各种控

17、件的应用在本系统的实现中起着举足轻重的作用。第四章 详细设计41数据库实现 create database 仓库管理系统on(name=manage_data,filename=f:manage_data.mdf,size=4,maxsize=10,filegrowth=10%)log on(name=sale1_log,filename=f:manage_log.mdf,size=1,maxsize=6,filegrowth=1)use 仓库管理系统gocreate table 产品信息( 编号int not null, 名称char(20) , 数量单位char(2), 货物类别CHAR(

18、10), 所属公司char(50) not null, 生产日期char(50) not null, 保证期char(50) not null, 产品价格float (20) not null, primary key(编号)insert into 产品信息values(01,可口可乐,瓶,饮料,天津可口可乐有限公司,2009-06-01,1月,2.5)insert into 产品信息values(02,农夫山泉,瓶,饮料,农夫山泉有限公司,2008-12-11,20天,1.0)insert into 产品信息values(03,奥利奥饼干,袋,食品,奥利奥股份有限责任公司,2008-11-1

19、1,10天,3.0)insert into 产品信息values(04,数据库系统教程,本,图书,高等教育出版社,2007-05-23 ,1年,33.20)insert into 产品信息values(05,康师傅冰红茶,瓶,饮料,康师傅有限责任公司,2009-06-01,1月,2.5)insert into 产品信息values(06,舒蕾洗发露,瓶,生活用品,广州宝洁有限责任公司,2008-06-01,5月,15)insert into 产品信息values(07,清扬洗发露,瓶, 生活用品,清扬洗发露有限公司,2008-08-01,9月,25)insert into 产品信息values

20、(08,阿胶枣,袋,食品,沧州阔源食品有限公司,2008-08-01,2月,5)insert into 产品信息values(09,冰淇淋旦筒,箱,食品,深圳市麦尔斯顿贸易商行,2008-11-01,10天,50)insert into 产品信息values(10,蒙牛早餐奶,箱,食品,内蒙古蒙牛有限责任公司,2009-5-12,10天,23)insert into 产品信息values(11,王中王香肠,箱,食品,王中王肉制品有限公司,2009-5-12,5天,23)use 仓库管理系统gocreate table 用户信息表( 用户名char(20) primary key, 密码char

21、(10) , 姓名char(20) not null , 性别char(20) not null, 家庭地址char(50) )insert into 用户信息表values(1001,30,王通,男,河北省保定市)insert into 用户信息表values(1002,32,李树冰,男,河北省沧州市)use 仓库管理系统gocreate table 工人信息表( 工人编号char(20)not null primary key, 姓名char(20) not null , 性别char(20) not null, 家庭地址varchar(50), )insert into 工人信息表val

22、ues(01,张三,男,河北省廊坊市)insert into 工人信息表values(02,李四,男,河北省石家庄市)insert into 工人信息表values(03,王明,男,河北省保定市)insert into 工人信息表values(04,赵娟,女,北京市)create table 库存信息( 编号int not null primary key , 货物数量INT not null, 市场价float(20) not null )insert into 库存信息values(01,100,2.5)insert into 库存信息values(04,500,33.20)insert

23、into 库存信息values(05,200,2.5)insert into 库存信息values(07,20,25)insert into 库存信息values(08,22,5)insert into 库存信息values(10,20,23)use 仓库管理系统gocreate table 订货单表( 编号int primary key, 货物代号int not null, 创建时间char(50)not null, 总价格char(10)not null, 付款情况char(10), 货物数量int not null, 经手人工号char(20) not null, 取货时间char(50

24、) )insert into 订货单表values(01,01,2009-02-23,2500,否,1000,1002,2009-03-12)use 仓库管理系统gocreate table 公司信息表( 供应商编号int not null primary key,供应商名char(50),城市char(50), 供应产品 char(20),联系方式char(50)insert into 公司信息表values(01,天津可口可乐有限公司,天津市,可口可乐,15961752736)41系统模块实现4.1.1 添加模块如图3-1对订单表进行添加的代码 using System;using Sys

25、tem.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 仓库管理系统2 public partial class 订单表添加 : Form private SqlDataAdapter objSqlDataAdapter; private SqlConnection objSqlConn; private

26、DataSet objDataSet; private SqlParameter objSqlParameter; public 订单表添加() InitializeComponent(); private bool ValidateFields()/判断基本信息输入 bool returnValue = true; if (textBox1.Text = ) MessageBox.Show(编号不能为空,请输入商品编号!, 提示); textBox1.Focus(); return false; else for (int i = 0; i this.textBox1.Text.Length

27、; i+) if (!char.IsNumber(textBox1.Text.ToString(), i) MessageBox.Show(编号应为数字!, 提示); this.textBox1.Focus(); /returnValue = false; /break; return false; for (int i = 0; i this.货物代号.Text.Length; i+) if (!Char.IsNumber(货物代号.Text.ToString(), i) MessageBox.Show(货物代号应为数字!, 提示); this.货物代号.Focus(); /returnVa

28、lue = false; /break; return false; for (int i = 0; i this.创建时间.Text.Length; i+) if (!Char.IsNumber(创建时间.Text.ToString(), i) MessageBox.Show(创建时间应为数字!, 提示); this.创建时间.Focus(); /returnValue = false; /break; return false; for (int i = 0; i this.总价格.Text.Length; i+) if (!Char.IsNumber(总价格.Text.ToString(

29、), i) MessageBox.Show(总价格应为数字!, 提示); this.总价格.Focus(); /returnValue = false; /break; return false; for (int i = 0; i this.付款情况.Text.Length; i+) if (Char.IsNumber(付款情况.Text.ToString(), i) MessageBox.Show(付款情况应为汉字!, 提示); this.付款情况.Focus(); /returnValue = false; /break; return false; for (int i = 0; i

30、this.货物数量.Text.Length; i+) if (!Char.IsNumber(货物数量.Text.ToString(), i) MessageBox.Show(货物数量应为数字!, 提示); this.货物数量.Focus(); /returnValue = false; /break; return false; for (int i = 0; i this.经手人工号.Text.Length; i+) if (!Char.IsNumber(经手人工号.Text.ToString(), i) MessageBox.Show(经手人工号应为数字!, 提示); this.经手人工号

31、.Focus(); /returnValue = false; /break; return false; for (int i = 0; i this.取货时间.Text.Length; i+) if (!Char.IsNumber(取货时间.Text.ToString(), i) MessageBox.Show(取货时间应为数字!, 提示); this.取货时间.Focus(); /returnValue = false; /break; return false; return returnValue; private void 订单表添加_Load(object sender, Eve

32、ntArgs e) objSqlConn = new SqlConnection(Data Source=CHINA-52C605EA9;Integrated Security=SSPI; + Initial Catalog=仓库管理系统); objSqlConn.Open(); objSqlDataAdapter = new SqlDataAdapter(); objSqlDataAdapter.SelectCommand = new SqlCommand(select * from 订货单表, objSqlConn); objDataSet = new DataSet(); objSqlD

33、ataAdapter.Fill(objDataSet, 订货单表); string insCmd = Insert into 订货单表 values(编号,货物代号,创建时间,总价格,付款情况,货物数量,经手人工号,取货时间); this.objSqlDataAdapter.InsertCommand = new SqlCommand(insCmd, this.objSqlConn); objSqlParameter = objSqlDataAdapter.InsertCommand.Parameters.Add(new SqlParameter(编号, System.Data.SqlDbTy

34、pe.Int); objSqlParameter.SourceColumn = 编号; objSqlParameter.SourceVersion = DataRowVersion.Current; objSqlParameter = objSqlDataAdapter.InsertCommand.Parameters.Add(new SqlParameter(货物代号, System.Data.SqlDbType.Int); objSqlParameter.SourceColumn = 货物代号; objSqlParameter.SourceVersion = DataRowVersion.

35、Current; objSqlParameter = objSqlDataAdapter.InsertCommand.Parameters.Add(new SqlParameter(创建时间, System.Data.SqlDbType.Char, 50); objSqlParameter.SourceColumn = 创建时间; objSqlParameter.SourceVersion = DataRowVersion.Current; objSqlParameter = objSqlDataAdapter.InsertCommand.Parameters.Add(new SqlParameter(总价格, System.Data.SqlDbType.Char, 10); objSqlParameter.SourceColumn = 总价格; objSqlParameter.SourceVersion = DataRowVersion.Current; objSqlParameter = objSqlDataAdapter.Ins

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号