




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
27/105课程设计任务书课题名称《数据库原理》课程设计完成时刻指导教师职称副教授学生姓名班级总体设计要求总体设计要求:按着软件工程要求,完成数据库设计,包括:需求分析、关系模式设计、完整性设计、安全性设计。以及应用程序设计和开发任务。选题讲明:一组一题,从下列题目中任选一个,在课程设计期间按要求完成设计任务,并提交一份完整的设计报告、已调通的应用系统和其它的相关文档。题目一:人事治理系统题目二:工资治理系统题目三:能源治理收费系统题目四:住宅小区小商品交易系统题目五:实验选课系统题目六:职员薪资治理题目七:产品库存治理题目八:图书治理系统题目九:商品销售治理系统题目十:仪器仪表治理题目十一:仓库设备治理题目十二:仓库治理系统题目十三:服装销售系统题目十四:自选题目工作内容及时刻进度安排第一周、周1:设计动员,分组,布置课程设计任务。第一周、周2:查阅资料,制定方案,进行程序总体设计。第一周、周3~第二周2:详细设计,系统调试。第二周、周3:整理,撰写设计报告。第二周、周4-周5:验收,提交设计报告,评定成绩。毕业设计成果1、课程设计报告书一份2、应用程序(包括源程序)3、成果使用讲明书一份摘要数据库技术是计算机科学技术中进展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政治理、科学研究、教育、工程技术和国防军事等各行各业,而且已围绕数据库技术形成了一个巨大的软件产业,及数据库治理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的进展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效有用系统,形成了“哪里有计算机,哪里就有数据库”的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。SQLSereve是目前应用比较广泛的关系型数据库标准语言之一。现在,SQL已成为国际标准语言,各种类型的计算机和DBS都采纳SQL作为其存取语言和标准接口,从而使数据库世界有可能链接为一个统一的整体。以数据库技术作为后台的可视化应用也越来越受到人们的喜爱,C#是目前应用比较流行的可视化编程软件之一。它的功能强大,系统自带的代码较为齐,容易操作,受到专门多用户的喜爱。本程序将使用SQLServer2005与C#来组成一个仓库治理系统。关键词:数据库原理SQLServer2005visualC#目录TOC\o"1-3"\h\u30813摘要 I16567目录 I13956第一章绪论 1139501.1课程设计的目的 126783摘要 1311001.2理论研究的基础 2227471.2.1.理论研究基础 2117241.3课题研究的要紧内容 26907第二章系统需求分析 2327312.1系统的功能模块 315014.1.4E-R模型 5202902.2系统的输入输出数据测试 638872.2.1信息的添加测试 6103322.2.2数据查询测试 713232.2.3数据删除测试 872082.2.4数据修改测试 97072第三章概要设计 10107183.1.1治理员 1029143.1.2工人 10275393.2实现方法 10119第四章详细设计 1057154.1数据库实现 10144274.1.1添加模块 15173744.2查询模块 21141324.3修改模块 2370444.4删除功能的关键代码 2529644第五章调试分析 2723225总结 286228致谢 28844参考文献 289783附录 2825713附录1登陆 2832131附录2工人主窗体 273260附录3治理员主窗体 3021518附录4添加 3432563附录5修改 3913207附录6查询 4123671附录7删除 41第一章绪论从20世纪50年代中期开始,计算机应用由科学研究部门逐渐扩展到企业、行政部门,数据处理已成为计算机的要紧应用。60年代末,数据库技术是作为数据处理中的一门新技术进展起来的。通过近40年的进展,数据库技术已是计算机软件的一个重要分支,形成了较为完整的理论体系和有用技术。随着数据规模的不断扩大,数据量急剧增长,数据库系统应运而生了。数据库系统提供了对数据的跟高级更有效的的治理。它要紧存在采纳数据模型表示复杂的数据结构,有较高的数据独立性等特点。还为用户提供了方便的用户接口。数据库治理系统的数据模型要紧有层次模型、网状模型、关系模型、和面向对象模型,其中关系模型的应用最广泛。数据库是长期存储在计算机内部、有组织的、统一治理的相关数据集合。数据库能为各种用户共享,具有较小的冗余度、数据间关系紧密而又有较高的数据独立性等特点。数据库是计算机专业的一门有重要地位的专业基础课,几乎所有的应用系统差不多上建立在数据库的基础之上的。1.1课程设计的目的熟悉大型数据库治理系统的结构与组成;熟悉数据库应用系统的设计方法和开发过程;掌握一种大型数据库治理系统SQLSERVER的应用技术和开发工具的使用;熟悉数据库设计工具的使用;熟悉数据库安全的相关知识和技术;熟悉数据库系统的治理和维护。摘要数据库技术是计算机科学技术中进展最快的领域之一。数据库系统已在当代的社会生活中获得了广泛的应用,渗透到了工农业生产、商业、行政治理、科学研究、教育、工程技术和国防军事等各行各业,而且已围绕数据库技术形成了一个巨大的软件产业,及数据库治理系统和各类工具软件的开发和经营。数据库技术自20世纪60年代后期产生以来,在三十多年的进展进程中,不仅形成了相对完整的理论体系,形成了现代计算机信息处理系统的重要基础和技术核心,同时也开发出了一大批应用十分的高效有用系统,形成了“哪里有计算机,哪里就有数据库”的崭新局面。由于数据库技术的科学重要性和实际应用性日益突出,数据库系统及应用技术越来越受到人们的重视。本选题能够加强自己的团队合作,明白得将理论与实际相结合,通过课程设计,加深了对数据库原理教学内容的了解,以及实现数据库原理各部分知识的融合。进而提高自我分析问题、解决问题,从而运用所学知识解决实际问题的能力。对以后开发大型的数据库系统是一个基础,和以后的工作中与不人协作的经验。1.2理论研究的基础1.2.1.理论研究基础(1)数据库的创建,数据表的建立。(2)在数据表中插入信息,设置主键约束,外键约束、唯一性约束。(3)数据表中表与表之间关系的建立,尽量幸免出现数据冗余。(4)C#中窗体的建立,控件的使用。(5)数据库与C#的链接。1.2.2.技术层面的支持操作系统windowsxp,VisualStudio2005,SQLServer2005.1.3课题研究的要紧内容仓库治理系统,他有两级用户,分不是治理员和工人。治理员相当于那个仓库的主管,能够对仓库里的产品信息、库存信息、治理员信息、工人信息、订单表信息、公司信息进行添加、查询、修改、和删除操作。而工人就相当于日常里在仓库里工作的工人,它能够对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、查询、修改、和删除。二者都需要输入密码才能进入,治理员要输入用户名和密码,经核对正确后才能进入,而工人则要输入姓名和工号,经核对正确后才能进入。第二章系统需求分析事实上本系统最要紧的功能确实是对数据的添加、删除、修改和查询。只是因为治理权限的不同,执行的功能也就不同。权限最高的治理员,他能够对所有的信息进行添加、修改、查询、删除;其次是工人,它能够对数据库进行的操作是对产品信息、库存信息、订单表信息、公司信息的添加、查询、修除。当不同的用户登录本系统时,系统会依照他输入的用户名和密码进行推断,推断的过程事实上确实是在数据库中查找数据的过程,假如找到就会登陆倒下一个界面,假如没有找到,就会告诉你“您输入的用户名或密码有误,请验证后再重新输入!”下面将对本系统的差不多数据输入输出进行详细的叙述。2.1系统的功能模块2.1.1.治理员的功能模块图治理员治理员对仓库进行治理治理工人信息对仓库进行治理治理工人信息添加信息修改信息查询信息修改工人登陆添加新的治理员添加新的工人修改治理员登陆数据删除添加信息修改信息查询信息修改工人登陆添加新的治理员添加新的工人修改治理员登陆数据删除1.如图--2-1如图--2-12.1.2工人的能模块工人工人删除信息添加信息查询信息修改信息删除信息添加信息查询信息修改信息按产品信息按订单信息按仓库库存按公司信息公司信息产品信息订单信息仓库库存按产品信息按订单信息按仓库库存按公司信息公司信息产品信息订单信息仓库库存显示所有信息编号查询现实所有信息入库时刻物资代号支付情况所在都市所供应产品显示所有信息价格查询类型查询编号查询显示所有信息显示所有信息编号查询现实所有信息入库时刻物资代号支付情况所在都市所供应产品显示所有信息价格查询类型查询编号查询显示所有信息按产品编号修改入库信息删除改出库信息删除改公司信息删除改用户删除订单删除按物资代号修改按价格修改按公司信息修改按生产日期修改按产品编号修改入库信息删除改出库信息删除改公司信息删除改用户删除订单删除按物资代号修改按价格修改按公司信息修改按生产日期修改如图—如图—2-2产品价格.1.4E-R模型产品价格物资类不商品名称商品编号物资类不商品名称商品编号治理员所属公司治理员所属公司保证期保证期治理产品信息治理产品信息数量单位数量单位生产日期生产日期仓库信息仓库信息都市都市治理治理公司信息公司信息供应商编号联系方式供应商编号联系方式工人治理员供应商名工人治理员供应商名供应产品供应产品产品编号库存信息产品编号库存信息市场加分市场加分产品数量密码用户名产品数量密码用户名订单表总价格订单表总价格产品编号经手人工号取货时刻物资数量产品编号经手人工号取货时刻物资数量付款情况付款情况商品编号商品编号物资代号物资代号如图如图—2-32.2系统的输入输出数据测试2.2.1信息的添加测试以对产品信息的添加为例。产品信息的添加,治理员和工人都有这项功能。而且里面有容错,比如讲产品编号应为数字,假如输入的是汉字或字符,则会有提示要重新输入,输入字符。每一个都有,例如编号、生产日期和产品价格是数字,名称、数量单位、保证期、物资类不、所属公司是汉字。当完全符合后才能添加到数据表中。对产品信息添加的测试输入错误数据类型如图如图—2-4在对产品信息进行添加的时候,系统会对输入的数据进行验证,假如输入的类型与要求的数据类型不符,系统会弹出一个提示框,告诉你每一个属性的正确的数据类型。同时不能添加成功。当所有的属性都输入正确的数据类型时,你单击注册按钮,系统会告诉你添加成功。所加信息就会进入到数据表中。2.2.2数据查询测试治理员和工人都能够进行查询操作。不同的是治理员能够对所有信息表进行只能查询,而工人则不能对工人信息和治理员信息的查询。查询能够显示所要查询表中的所有信息也能够依照各个表中信息的特征进行查询,例如能够依照产品信息的编号查询、物资类型查询、物资价格查询。因为差不多上都差不多,在此就不一一列举了。以对产品编号查询为例。显示所有产品信息如图如图—2-5(2)按产品编号进行查询如图如图—2-6讲明:在查询产品信息时能够按产品编号、物资类型、物资价格进行查询。当输入的信息在数据库中找不到时,系统会提示无此产品的信息。2.2.3数据删除测试工人和治理员都能够进行删除操作,只是治理员能够对所有的信息表进行删除操作,而工人则不能够对治理员的信息和工人的信息进行删除操作。以删除产品信息为例,要先输入所要删除产品信息的编号,先在表中查询出来,然后选中这一行,点击删除按钮,系统提示是否确实要删除,选择是,则就将此信息在信息表中删除。如图如图—2-7讲明:在进行删除之前,首先要依照所输入的表中信息的某种特征查询出此信息,当单击删除按钮时,系统会提示你是否要删除,当再次单击是时信息就确实被删除了,现在系统会告诉你信息已成功删除。2.2.4数据修改测试工人和治理员都能够进行修改操作,只是治理员能够对所有的信息表进行修改操作,而工人则不能够对治理员的信息和工人的信息进行修改操作。以修改产品信息为例,要先输入所要修改产品信息的编号,先在表中查询出来,然后修改所要修改的地点,然后点击保存修改按钮,系统提示差不多将所改的信息存入表中。如图如图—2-8讲明:当要对信息进行修改时,先要查出要修改的信息,修改完毕后,单击保存修改按钮时,系统会提示你已成功更新记录。第三章概要设计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=1)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用户信息表(用户名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仓库治理系统gocreatetable订货单表(编号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','天津可口可乐有限公司','天津市','可口可乐',)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()//推断差不多信息输入{boolreturnValue=true;if(textBox1.Text==""){MessageBox.Show("编号不能为空,请输入商品编号!","提示");textBox1.Focus();returnfalse;}else{for(inti=0;i<this.textBox1.Text.Length;i++){if(!char.IsNumber(textBox1.Text.ToString(),i)){MessageBox.Show("编号应为数字!","提示");this.textBox1.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.物资代号.Text.Length;i++){if(!Char.IsNumber(物资代号.Text.ToString(),i)){MessageBox.Show("物资代号应为数字!","提示");this.物资代号.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.创建时刻.Text.Length;i++){if(!Char.IsNumber(创建时刻.Text.ToString(),i)){MessageBox.Show("创建时刻应为数字!","提示");this.创建时刻.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.总价格.Text.Length;i++){if(!Char.IsNumber(总价格.Text.ToString(),i)){MessageBox.Show("总价格应为数字!","提示");this.总价格.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.付款情况.Text.Length;i++){if(Char.IsNumber(付款情况.Text.ToString(),i)){MessageBox.Show("付款情况应为汉字!","提示");this.付款情况.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.物资数量.Text.Length;i++){if(!Char.IsNumber(物资数量.Text.ToString(),i)){MessageBox.Show("物资数量应为数字!","提示");this.物资数量.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.经手人工号.Text.Length;i++){if(!Char.IsNumber(经手人工号.Text.ToString(),i)){MessageBox.Show("经手人工号应为数字!","提示");this.经手人工号.Focus();//returnValue=false;//break;returnfalse;}}for(inti=0;i<this.取货时刻.Text.Length;i++){if(!Char.IsNumber(取货时刻.Text.ToString(),i)){MessageBox.Show("取货时刻应为数字!","提示");this.取货时刻.Focus();//returnValue=false;//break;returnfalse;}}returnreturnValue;}}privatevoid订单表添加_Load(objectsender,EventArgse){objSqlConn=newSqlConnection("DataSource=CHINA-52C605EA9;IntegratedSecurity=SSPI;"+"InitialCatalog=仓库治理系统");objSqlConn.Open();objSqlDataAdapter=newSqlDataAdapter();objSqlDataAdapter.SelectCommand=newSqlCommand("select*from订货单表",objSqlConn);objDataSet=newDataSet();objSqlDataAdapter.Fill(objDataSet,"订货单表");stringinsCmd="Insertinto订货单表values(@编号,@物资代号,@创建时刻,@总价格,@付款情况,@物资数量,@经手人工号,@取货时刻)";this.objSqlDataAdapter.InsertCommand=newSqlCommand(insCmd,this.objSqlConn);objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@编号",System.Data.SqlDbType.Int));objSqlParameter.SourceColumn="编号";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@物资代号",System.Data.SqlDbType.Int));objSqlParameter.SourceColumn="物资代号";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@创建时刻",System.Data.SqlDbType.Char,50));objSqlParameter.SourceColumn="创建时刻";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@总价格",System.Data.SqlDbType.Char,10));objSqlParameter.SourceColumn="总价格";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@付款情况",System.Data.SqlDbType.Char,10));objSqlParameter.SourceColumn="付款情况";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@物资数量",System.Data.SqlDbType.Int));objSqlParameter.SourceColumn="物资数量";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@经手人工号",System.Data.SqlDbType.Char,20));objSqlParameter.SourceColumn="经手人工号";objSqlParameter.SourceVersion=DataRowVersion.Current;objSqlParameter=objSqlDataAdapter.InsertCommand.Parameters.Add(newSqlParameter("@取货时刻",System.Data.SqlDbType.Char,50));objSqlParameter.SourceColumn="取货时刻";objSqlParameter.SourceVersion=DataRowVersion.Current;}privatevoidbutton1_Click(objectsender,EventArgse){//tringshangpinno=textBoxno1.Text;//按了回车或光标下移try//插入到信息表{//检查任何为插入的控件是否为空if(this.textBox1.Text!=string.Empty&&this.物资代号.Text!=string.Empty&&this.创建时刻.Text!=string.Empty&&this.总价格.Text!=string.Empty&&this.付款情况.Text!=string.Empty&&this.物资数量.Text!=string.Empty&&this.经手人工号.Text!=string.Empty&&this.取货时刻.Text!=string.Empty){if(ValidateFields()){DataRowobjDataRow=objDataSet.Tables["订货单表"].NewRow();objDataRow["编号"]=this.编号.Text;objDataRow["物资代号"]=this.物资代号.Text;objDataRow["创建时刻"]=this.创建时刻.Text;objDataRow["总价格"]=this.总价格.Text;objDataRow["付款情况"]=this.付款情况.Text;objDataRow["物资数量"]=this.物资数量.Text;objDataRow["经手人工号"]=this.经手人工号.Text;objDataRow["取货时刻"]=this.取货时刻.Text;objDataSet.Tables["订货单表"].Rows.Add(objDataRow);objDataSet.HasChanges(DataRowState.Added);objSqlDataAdapter.Update(objDataSet,"订货单表");MessageBox.Show("添加成功!","提示");this.textBox1.Clear();this.物资代号.Clear();this.创建时刻.Clear();this.总价格.Clear();this.付款情况.Clear();this.物资数量.Clear();this.经手人工号.Clear();this.取货时刻.Clear();this.textBox1.Focus();}}elseMessageBox.Show("提供完整详细信息!");}catch(SqlExceptionex){MessageBox.Show(ex.Message.ToString());}catch(ExceptiongenEx){MessageBox.Show(genEx.Message.ToString());}}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}}}4.2查询模块4.2.1显示所有信息模块如图如图—3-24.2.2按用户名查询治理员信息模块如图3如图3—3按用户名查询治理员信息模块的代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;namespace仓库治理系统2{publicpartialclass按用户名查询治理员信息:Form{public按用户名查询治理员信息(){InitializeComponent();}privatevoid搜索_Click(objectsender,EventArgse){stringspNo=textBox1.Text;//if(e.KeyChar==13)//{SqlCommandmyCommand=sqlConnection1.CreateCommand();myCommand.CommandText="select*from用户信息表where用户名='"+spNo+"'";sqlDataAdapter1.SelectCommand=myCommand;sqlConnection1.Open();dataSet11.Clear();intn=sqlDataAdapter1.Fill(dataSet11,"用户信息表");sqlConnection1.Close();if(n==0){MessageBox.Show("无此治理员!","提示");//button1.Enabled=false;dataGrid1.ReadOnly=true;}textBox1.Text="";textBox1.Focus();}}}4.3修改模块如图如图—3-4修改信息的代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;namespace仓库治理系统2{publicpartialclass修改产品信息:Form{public修改产品信息(){InitializeComponent();}privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse){stringspNo=textBox1.Text;if(e.KeyChar==13){if(spNo==""){MessageBox.Show("编号不能为空!","提示");}else{SqlCommandmyCommand=sqlConnection1.CreateCommand();myCommand.CommandText="select*from产品信息where编号='"+spNo+"'";sqlDataAdapter1.SelectCommand=myCommand;sqlConnection1.Open();//dataSet51.Clear();intn=sqlDataAdapter1.Fill(dataSet11,"产品信息");sqlConnection1.Close();if(n==0){MessageBox.Show("无此编号的产品!","提示");//button1.Enabled=false;//dataGrid1.ReadOnly=true;}textBox1.Text="";textBox1.Focus();}}}privatevoid保存修改_Click(objectsender,EventArgse){//采纳异常处理方式,防止由于修改了不能修改的信息导致出错try{sqlDataAdapter1.Update(dataSet11,"产品信息");MessageBox.Show("已成功更新记录!","提示");//button1.Enabled=false;dataSet11.Clear();//dataGrid1.ReadOnly=true;}catch(SqlExceptionex){MessageBox.Show(ex.Message.ToString());}catch(ExceptiongenEx){MessageBox.Show(genEx.Message.ToString());}}privatevoid取消_Click(objectsender,EventArgse){this.Close();}}}4.4删除功能的关键代码如图如图—3-5删除信息模块的代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;namespace仓库治理系统2{publicpartialclass删除产品信息:Form{public删除产品信息(){InitializeComponent();}privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse){stringspNo=textBox1.Text;if(e.KeyChar==13){if(spNo==""){MessageBox.Show("编号不能为空!","提示");}else{SqlCommandmyCommand=sqlConnection1.CreateCommand();myCommand.CommandText="select*from产品信息where编号='"+spNo+"'";sqlDataAdapter1.SelectCommand=myCommand;sqlConnection1.Open();//dataSet51.Clear();intn=sqlDataAdapter1.Fill(dataSet11,"产品信息");sqlConnection1.Close();if(n==0){MessageBox.Show("无此编号的产品,请重新输入!","提示");//button1.Enabled=false;//dataGrid1.ReadOnly=true;}textBox1.Text="";textBox1.Focus();}}}privatevoid删除_Click(objectsender,EventArgse){stringMsg="确实要删除此产品信息吗?";DialogResultdlgResult;dlgResult=MessageBox.Show(Msg,"确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if(dlgResult==DialogResult.Yes){stringspNo=dataSet11.Tables["产品信息"].Rows[0]["编号"].ToString();SqlCommandmyCommand=sqlConnection1.CreateCommand();myCommand.CommandText="Deletefrom产品信息where编号='"+spNo+"'";sqlConnection1.Open();myCommand.ExecuteNonQuery();sqlConnection1.Close();MessageBox.Show("已成功删除!","提示");}}privatevoid取消_Click(objectsender,EventArgse){this.Close();}}第五章调试分析5.1过程中遇到的问题及解决方法万事开头难,一开始看到那个题目都无从下手。不明白该从哪开始入手。尤其对C#差不多上不太明白,因此就先看书,从基础开始学。慢慢的学了专门多东西,之后请教同学,并结合自己看书所学的知识和在课堂上讲的知识结合起来。因此没这么简单,在编的过程中也遇到了专门多困难,然而通过自己研究和同学们的关心都一一克服了。在此专门感谢我的同学们和老师的辛勤教诲。最终我们完成了那个系统,但由于时刻有限,有些地点做的不是专门好,比如,这怎么讲是一个系统,是要不人用的,画面效果我们差不多上都没做,因此看起来不行看。还有由于对仓库的功能不太了解,以至于一些模块做得不太尽如人意,但这怎么讲是我们第一次做这么一个比较大系统,尽管不太好,然而我们积存了专门多编程上的经验。每次课设的收获都不一样,而且每一次都比往常收获更多,这次也不例外。总结这次课设然后我又增加了专门多知识,让我明白了在大学里自学是多么的重要,往常那种高中的学习的适应已不行了,自学的能力上了大学所需要培养的能力。还有团队合作的精神,怎么讲是两个人,因此一些方法也不一样,我们要中和两个人的方法,然后互相商量,从中选择一个两个人都认为比较好的。这对日后我们从事大规模的软件开发与不人协作是特不宝贵的经验。致谢这次我做的要紧是登陆、对信息的添加和查询和退出。我的同伴做的是修改和删除。当拿给老师验收的时候心情是忐忑不安的,特不紧张,这是自己两个星期的成果,尽管不是专门好,验收的过程中老师给我们提了专门多不足,我明白这是因为我们考虑不足的结果。通过这次课程设计,我学到了好多东西。不只是学到了专门多理论知识,还了解到两个人共同做一件事,就必须要有互相协作的的认识。在编程的过程中遇到了专门多问题,差不多差不多上靠大伙儿的共同努力解决的。在验收的时候老师也给我们提出了许多宝贵的意见。还有同学们对我们的关心专门大,再次感谢我的老师和同学们。参考文献[1]周剑锋,项细威,C#企业级开发案例精析,人民邮电出版社,2006-1.[2]李律松,陈少刚,沈刚,VisualC#数据库高级教程,清华大学出版社2005-6.[3]施伯乐,丁宝康,汪卫.数据库系统教程.北京:高等教育出版社,2008-7.[4]李德奇.C#程序设计.北京:科学出版社,2005-8.[5]张奇,李律松,卫建伟.VisualC#数据库项目案例导航.北京:清华大学出版社,2005-6.[6]李律松,陈少刚,沈刚.VisualC#数据库高级教程.北京:清华大学出版社,2005.[7]吕文达.精通C#程序设计.北京:清华大学出版社.2004.附录附录1登陆usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;//usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace仓库治理系统2{publicpartialclass治理员登陆:Form{public治理员登陆(){InitializeComponent();}privatevoid登陆_Click(objectsender,EventArgse){SqlCommandmyCommand=sqlConnection1.CreateCommand();stringUerNo=用户名.Text;stringpassword=密码.Text;stringcommandString="select*from用户信息表where用户名='"+UerNo+"'and密码='"+password+"'";myCommand.CommandText=commandString;sqlDataAdapter1.SelectCommand=myCommand;sqlConnection1.Open();intn=sqlDataAdapter1.Fill(dataSet11,"用户信息表");sqlConnection1.Close();if(n==0){MessageBox.Show("用户名或密码错误,请重新输入!");用户名.Text="";密码.Text="";用户名.Focus();}else{主窗体famMain=new主窗体();famMain.Show();}}privatevoid取消_Click(objectsender,EventArgse){this.Close();}}附录2工人主窗体usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSyst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准物流运输合同样本
- 2025长沙办公楼租赁合同范本
- 2025【企业短期融资借款合同】公司短期融资合同
- 2025年GPS接收设备及其综合应用系统合作协议书
- 2025幕墙设计与施工合同范本
- 2025实习生聘用合同模板与协议范本
- 2025年聚阴离子纤维素合作协议书
- 2025如何规避装修合同风险:专家提供的策略与指南
- 2025合同范本在应用软件代理中的运用研究
- 2025网络旅行社合作合同协议书
- ISOTS 22163专题培训考试
- 六年级下册数学课件-第4单元 比例 整理和复习 人教版(共21张PPT)
- JJF(鲁) 142-2022 称重式雨量计校准规范
- Adobe-Illustrator-(Ai)基础教程
- 程序的运行结果PPT学习教案
- 圆柱钢模计算书
- 合成宝石特征x
- 查摆问题及整改措施
- 年度研发费用专项审计报告模板(共22页)
- 隧道工程隧道支护结构设计实用教案
- 得力打卡机破解Excel工作表保护密码4页
评论
0/150
提交评论