C超市管理系统课设报告_第1页
C超市管理系统课设报告_第2页
C超市管理系统课设报告_第3页
C超市管理系统课设报告_第4页
C超市管理系统课设报告_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

59/68沈阳航空航天大学课程设计学号__________班级__________姓名__________指导教师__________年月日沈阳航空航天大学课程设计任务书学院:航空航天工程学部专业:飞行器制造工程班级:飞制1406学号:143403030608题目:商品库存管理信息系统一、课程设计时间2015-2016第一学期第9周,即10月26日-10月30日,共计1周,20学时。二、课程设计内容用C#语言编写软件完成以下任务:(1)创建ACCESS数据库,用于存放商品的基本信息,包括:编号、名称、厂家、库存、进货价、售出价等。如下图:(2)创建与数据库的ODBC连接。例如:usingSystem.Data.ODBC;…(3)设计用户界面,添加各种控件;(4)完成如下主要功能,如下图:1)用DataGrid控件绑定和显示数据;2)输入商品编号或名称进行查询(可以用SQL方法,也可以用过滤方法);3)可以增加新的商品信息、修改、删除。三、课程设计要求程序质量要求:贯彻面向对象程序设计思想。设计用户图形界面,界面友好,功能明确,操作方便。可以加以其它功能或修饰。代码简洁清晰,并给出必要的注释,以增强程序的可读性。。课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:________学生签名:________五、成绩六、教师评语目录TOC\o"1-3"\h\z一、需求分析 5二、设计分析 7三、主要界面截图 8四、技术要点 11五、个人总结 16六、参考文献 17七、源程序 17一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型的商品库存管理信息系统,使用ACCESS数据库存放信息;其使用者被假定为某超市的管理员(可查商品具体信息)和售货员(购物系统),系统应该具有安全、稳定、功能齐全的特点。1.安全性分析超市系统管理的数据涉及到超市机密,数据量较大,且是一种基础性数据,能够为超市管理员和售货员提供信息查询,所以要通过设置密码登录、身份验证等手段确保数据不能被除了管理员之外的人随意的查看,删减和修改。2.稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3.主要功能分析(1)创建ACCESS数据库:创建数据库中名为pyw的表,用于存放全部商品的编号,名称,厂家,库存,进货价和售出价等信息;(2)数据库的ODBC连接:系统可以通过ODBC创建与数据库及其中名为pyw信息表的连接。(3)设计用户界面:添加各种控件,完成界面的设计、并能在此基础上实现其它功能;(4)数据浏览:通过DataGrid控件绑定到名为pyw的信息表,并显示全部通讯数据;(5)数据查询(管理员操作):用户输入查询条件,如:输入编号可以进行查询其他信息,系统规则地在控件textbox中显示查询结果,且显示的数据尽量全面。(6)信息添加:可以增加新的商品信息,用户输入编号,名称,厂家,库存,进货价和售出价等信息即可完成添加。(7)信息修改:对用户录入的数据能够提供修改功能。(8)信息删除:可指定某条无用的商品信息,删除。

二、设计分析为了满足本系统要求,一共设计了一个ACCESS数据库中的数据表,以及VS2010中的5个窗口。其基本功能简述如下:1.ACCESS数据库名称为pyw.mdb;数据表名称为student;用于存放全体学生的编号,名称,厂家,库存,进货价和售出价等信息;其中:“编号”字段为“数字”型,字段大小:长整型;“名称”字段为“文本”型,字段大小:255;“厂家”字段为“文本”型,字段大小:255;“库存”字段为“数字”型,字段大小:长整型;“进货价”字段为“货币”型,字段大小:255;“售出价”字段为“货币”型,字段大小:255;密码输入窗口,为:Form1;设置密码窗口,一共2个窗口,为:Form3和Form4;主要功能是提供密码输入界面和设置密码界面,完成安全性的身份验证。4.主要功能窗口,有2个,管理员所用为:Form2,售货员所用为Form5;Form2:完成(1)数据库的ODBC连接;(2)设计用户界面;(3)数据浏览;(4)数据查询;(5)信息添加;(6)信息修改;(7)信息删除;(8)退出系统;等主要功能。Form5:完成(1)连接商品信息数据库;(2)购物界面设计;(3)单价查询;(4)购买商品信息显示;三、主要界面截图图1ACCESS数据库中student数据表截图图2管理员密码登录及售货员免密码登录窗口图3设置管理员登录系统密码图4管理员系统界面图5售货员界面

四、技术要点(对本程序贡献较大的知识点;数据库数据表、ODBC连接、主要窗体、重要算法的设计与实现)1、数据库的设计建立了名称为pyw.mdb的ACCESS数据库,并在其中建立了student数据表,用于存放所有商品的编号,名称,厂家,库存,进货价和售出价等信息;其中设计截图如下:图6数据表的设计窗口2、创建与数据库的ODBC连接创建与数据库的ODBC连接的步骤。(1)首先在“控制面板”、“管理工具”、“ODBC数据源”中添加新的数据源1406,如图:图7ODBC数据源管理器中的1406数据源图81406数据源的配置(2)注册所需的库文件usingSystem.Data.Odbc;(3)连接到NCRL数据源stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);3、用DataGrid控件绑定和显示数据用DataGrid控件绑定和显示数据是通过dataGridView控件和添加数据源实现,基本步骤通过手动操作实现,如下:添加一个dataGridView控件(2)“添加新数据源”—>“数据库”—>“数据集”—>“新建连接”—>选择“ODBC数据源”—>选择“数据源1406”—>保存“连接字符串”—>选择“表”。图9选择“数据源1406”图10保存“连接字符串”图11选择“表”图10成功实现DataGrid控件绑定(3)在Form2_Load中加载数据privatevoidForm1_Load(objectsender,EventArgse){rTableAdapter.Fill(this.dataSet1.student);}4、输入编号查询采用过滤方法实现,在DataGrid控件绑定和显示的数据基础上进行过滤,基本步骤通过代码实现5、增加信息、修改信息。采用过滤方法实现,在DataGrid控件绑定和显示的数据基础上进行增加、修改、删除,基本步骤通过代码实现,代码见源码购买商品查询商品单价及显示购买商品信息,代码见源码设置密码增加新窗口进行操作。8.退出及返回上一步代码:(其中之一)Form1frm1=newForm1();frm1.Show();this.Hide();个人总结程序优点:1.管理员登录需密码验证,保证安全;2.售货员登录无需密码,方便;3.管理员每次登陆可更改密码;4.进入系统后可返回登陆界面,而不是直接关闭程序,返回登陆界面后设置的密码依然有效,界面可切换;5.购物系统可通过扫描编号查询单价及所购商品名称,输入购买数量可给出总价;6.考虑到0的特殊性,程序给了提醒并做了修改,当密码全为0时登录不了系统。程序缺点:1.无法计算显示在listbook中各个商品价格总和,需进一步借助计算器计算。2.查询只设计了通过编号查询代码。个人心得:在老师的指导,同学的帮助下,经过反复查阅资料,我终于圆满的完成了课程设计。通过这次课程设计,让我更加深刻了解了课本知识,复习了上学期的知识的同时,添加了许多不知道的新知识,在设计过程中遇到一些或大或小的问题,比如说如何连接两个窗体,数据源的绑定等等,甚至有的数据很难查出,但是这些问题经过这次设计,都一一得以解决,我相信C#这本书中还有很多我不明白的问题,但是这次的课程设计给我相当的基础知识,为我以后工作打下了严实的基础。虽然这次课程是那么短暂的1周时间,我感觉到这些天我的所学胜过我上一学期所学,这次任务是设计一个系统,其实就是一次大的作业,大的挑战,是让我对课本知识的巩固和对基本知识的熟悉和应用,编写程序细节往往很重要,错一点都不行,这使我做事的耐心和仔细程度得以提高。我认为课程设计是培训学生运用课本所学的理论知识来分析解决实际问题的重要教学环节,是对上学期所学知识的复习和巩固。同样,也促使了同学们查找资料的技能,加强了同学间相互探讨,相互学习的能力。因此,我们必须珍惜这次机会,如果时间可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个系统,我相信无论是谁看到自己做出的成果时心里一定会很兴奋。此次设计让我明白了一个很深刻的道理:所学知识通过实践才能得到检验,才会记得更牢固,学到的东西才会更多。通过课程设计使我们了解到一些实际与理论之间的差异,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的能力,把我们所学的课本知识与实践结合起来,起到温故而知新的作用。这一周的设计让我感触很深。我收获很多、学会很多、比以往更有耐心很多。感谢学校及老师给我们这次课程设计的机会,最真挚的感谢我们的辅导老师,在设计过程中,老师精心的辅导和不厌其烦地的态度才使得我们以顺利的完成这次设计任务,任务的顺利完成为我以后学习计算机增强了信心,我只想说,这次课程设计完美!参考文献吴邵兴C#项目开发案例导航.北京;电子工业出版社,2012徐新华数据库与MIDAS编程技术清华大学出版社,2000源程序usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Windows.Forms;namespace_143403030608{staticclassProgram{///<summary>///应用程序的主入口点。///</summary>[STAThread]staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());}}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Media;namespace_143403030608{publicpartialclassForm1:Form{intm=Form4.o;publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text==""){SoundPlayermsc=newSoundPlayer(@"C:\Users\dell\Desktop\裴彦文143403030608\14340"+".wav");msc.Play();MessageBox.Show("密码错误,请重新输入!");}else{intn=int.Parse(textBox1.Text);if(n==m&&n>0){SoundPlayermsc=newSoundPlayer(@"C:\Users\dell\Desktop\裴彦文143403030608\1434030"+".wav");msc.Play();Form2frm1=newForm2();frm1.Show();this.Hide();}else{SoundPlayermsc=newSoundPlayer(@"C:\Users\dell\Desktop\裴彦文143403030608\14340"+".wav");msc.Play();MessageBox.Show("密码错误,请重新输入!");}}}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}privatevoidbutton3_Click(objectsender,EventArgse){Form3frm1=newForm3();frm1.Show();this.Hide();}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}privatevoidbutton4_Click(objectsender,EventArgse){SoundPlayermsc=newSoundPlayer(@"C:\Users\dell\Desktop\裴彦文143403030608\14340303"+".wav");msc.Play();Form5frm1=newForm5();frm1.Show();this.Hide();}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidbutton5_Click(objectsender,EventArgse){SoundPlayermsc=newSoundPlayer(@"C:\Users\dell\Desktop\裴彦文143403030608\143"+".wav");msc.Play();}}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.Odbc;namespace_143403030608{publicpartialclassForm2:Form{publicForm2(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){//TODO:这行代码将数据加载到表“dataSet1.student”中。您可以根据需要移动或删除它。this.studentTableAdapter.Fill(this.dataSet1.student);}privatevoidbutton4_Click(objectsender,EventArgse){stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);try{myConn.Open();//打开连接MessageBox.Show("继续点击确认添加!");OdbcCommandmyCommand=myConn.CreateCommand();//创建命令对象myCommandstringld_1=this.textBox1.Text;stringls_2=this.textBox2.Text;stringls_3=this.textBox3.Text;stringls_4=this.textBox4.Text;stringls_5=this.textBox5.Text;stringls_6=this.textBox6.Text;myCommand.CommandText="INSERTINTOstudent(编号,名称,厂家,库存,进货价,售出价)VALUES("+ld_1+",'"+ls_2+"','"+ls_3+"',"+ls_4+",'"+ls_5+"','"+ls_6+"')";//INSERToki!!myCommand.Connection=myConn;intrtn=myCommand.ExecuteNonQuery();//执行命令返回结果指派给DataReader对象myReaderMessageBox.Show(rtn.ToString()+"商品信息被添加");this.studentTableAdapter.Fill(this.dataSet1.student);}catch(Exceptione1){MessageBox.Show(e1.Message);}finally{myConn.Close();//关闭数据库连接}}privatevoidbutton2_Click(objectsender,EventArgse){stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);try{myConn.Open();//打开连接MessageBox.Show("查询!");OdbcCommandmyCommand=myConn.CreateCommand();//创建命令对象myCommandstringld_1=this.textBox1.Text;stringls_2=this.textBox2.Text;stringls_3=this.textBox3.Text;stringls_4=this.textBox4.Text;stringls_5=this.textBox5.Text;stringls_6=this.textBox6.Text;myCommand.CommandText="select*fromstudentwhere编号="+ld_1+"";//selectnumber类型"+string+"oki!!myCommand.Connection=myConn;OdbcDataReaderrd=myCommand.ExecuteReader();rd.Read();textBox2.Text=""+rd["名称"];textBox3.Text=""+rd["厂家"];textBox4.Text=""+rd["库存"];textBox5.Text=""+rd["进货价"];textBox6.Text=""+rd["售出价"];rd.Close();}catch(Exceptione1){MessageBox.Show(e1.Message);}finally{myConn.Close();//关闭数据库连接}}privatevoidbutton1_Click(objectsender,EventArgse){Form1frm1=newForm1();frm1.Show();this.Hide();}privatevoidbutton3_Click(objectsender,EventArgse){stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);try{myConn.Open();//打开连接MessageBox.Show("删除");OdbcCommandmyCommand=myConn.CreateCommand();//创建命令对象myCommandstringld_1=this.textBox1.Text;stringld_2=this.textBox2.Text;myCommand.CommandText="DELETEFROMstudentWHERE编号="+ld_1+"";//DELETEoki!!myCommand.Connection=myConn;intrtn=myCommand.ExecuteNonQuery();//执行命令返回结果指派给DataReader对象myReader//objectrtn=myCommand.ExecuteScalar();//ExecuteScalar统计,查询,只读取首行首列MessageBox.Show(rtn.ToString()+"商品信息被删除");this.studentTableAdapter.Fill(this.dataSet1.student);}catch(Exceptione1){MessageBox.Show(e1.Message);}finally{myConn.Close();//关闭数据库连接}}privatevoidbutton5_Click(objectsender,EventArgse){stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);try{myConn.Open();//打开连接MessageBox.Show("修改");OdbcCommandmyCommand=myConn.CreateCommand();//创建命令对象myCommandstringld_1=this.textBox1.Text;stringls_2=this.textBox2.Text;stringls_3=this.textBox3.Text;stringls_4=this.textBox4.Text;stringls_5=this.textBox5.Text;stringls_6=this.textBox6.Text;myCommand.CommandText="UPDATEstudentSET名称='"+ls_2+"'WHERE编号="+ld_1+"";//UPDATEoki!!myCommand.Connection=myConn;intrtn=myCommand.ExecuteNonQuery();//执行命令返回结果指派给DataReader对象myReader//objectrtn=myCommand.ExecuteScalar();//ExecuteScalar统计,查询,只读取首行首列MessageBox.Show(rtn.ToString()+"商品信息被修改");this.studentTableAdapter.Fill(this.dataSet1.student);}catch(Exceptione1){MessageBox.Show(e1.Message);}finally{myConn.Close();//关闭数据库连接}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespace_143403030608{publicpartialclassForm3:Form{publicForm3(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text=="000000"){button2.Enabled=true;label3.Text="密码正确,请点击下一步继续";label3.ForeColor=Color.Blue;}else{label3.Text="密码错误,请查正后输入!";label3.ForeColor=Color.Red;}}privatevoidbutton2_Click(objectsender,EventArgse){Form4frm1=newForm4();frm1.Show();this.Hide();}privatevoidbutton3_Click(objectsender,EventArgse){Form1frm1=newForm1();frm1.Show();this.Hide();}}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespace_143403030608{publicpartialclassForm4:Form{publicstaticinto;publicForm4(){InitializeComponent();}privatevoidlabel1_Click(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){inta,b;a=int.Parse(textBox1.Text);b=int.Parse(textBox2.Text);if(a==b){label3.Text="设置密码成功";label3.ForeColor=Color.Blue;o=a;}else{label3.Text="两次输入不相等,请重新输入!";label3.ForeColor=Color.Red;}}privatevoidbutton2_Click(objectsender,EventArgse){Form1frm1=newForm1();frm1.Show();this.Hide();}}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.Odbc;usingSystem.Media;namespace_143403030608{publicpartialclassForm5:Form{publicdoublec;publicForm5(){InitializeComponent();}privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){}privatevoidForm5_Load(objectsender,EventArgse){//TODO:这行代码将数据加载到表“dataSet2.student”中。您可以根据需要移动或删除它。this.studentTableAdapter.Fill(this.dataSet2.student);}privatevoidlabel4_Click(objectsender,EventArgse){}privatevoidtextBox3_TextChanged(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){stringConnString1="Dsn=1406;uid=;pwd=";OdbcConnectionmyConn=newOdbcConnection(ConnString1);try

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论