c#超市商品库存管理信息系统任务书大学论文.docx

上传人:b****5 文档编号:28506139 上传时间:2023-07-18 格式:DOCX 页数:31 大小:251.79KB
下载 相关 举报
c#超市商品库存管理信息系统任务书大学论文.docx_第1页
第1页 / 共31页
c#超市商品库存管理信息系统任务书大学论文.docx_第2页
第2页 / 共31页
c#超市商品库存管理信息系统任务书大学论文.docx_第3页
第3页 / 共31页
c#超市商品库存管理信息系统任务书大学论文.docx_第4页
第4页 / 共31页
c#超市商品库存管理信息系统任务书大学论文.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

c#超市商品库存管理信息系统任务书大学论文.docx

《c#超市商品库存管理信息系统任务书大学论文.docx》由会员分享,可在线阅读,更多相关《c#超市商品库存管理信息系统任务书大学论文.docx(31页珍藏版)》请在冰豆网上搜索。

c#超市商品库存管理信息系统任务书大学论文.docx

c#超市商品库存管理信息系统任务书大学论文

沈阳航空航天大学

课程设计

学号__________

班级__________

姓名__________

指导教师__________

年月日

沈阳航空航天大学

课程设计任务书

学院:

专业:

飞行器制造工程班级:

学号:

题目:

商品库存管理信息系统

一、课程设计时间

2015-2016第一学期第9周,即10月26日-10月30日,共计1周,20学时。

二、课程设计内容

用C#语言编写软件完成以下任务:

(1)创建ACCESS数据库,用于存放商品的基本信息,包括:

编号、名称、厂家、库存、进货价、售出价等。

如下图:

 

(2)创建与数据库的ODBC连接。

例如:

usingSystem.Data.ODBC;

(3)设计用户界面,添加各种控件;

(4)完成如下主要功能,如下图:

1)用DataGrid控件绑定和显示数据;

2)输入商品编号或名称进行查询(可以用SQL方法,也可以用过滤方法);

3)可以增加新的商品信息、修改、删除。

三、课程设计要求

程序质量要求:

✧贯彻面向对象程序设计思想。

✧设计用户图形界面,界面友好,功能明确,操作方便。

✧可以加以其它功能或修饰。

✧代码简洁清晰,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课程结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩

 

六、教师评语

 

目录

一、需求分析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;

2.密码输入窗口,为:

Form1;

3.设置密码窗口,一共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控件和添加数据源实现,基本步骤通过手动操作实现,如下:

(1)添加一个dataGridView控件

(2)“添加新数据源”—>“数据库”—>“数据集”—>“新建连接”—>选择“ODBC数据源”—>选择“数据源1406”—>保存“连接字符串”—>选择“表”。

图9选择“数据源1406”

图10保存“连接字符串”

图11选择“表”

图10成功实现DataGrid控件绑定

(3)在Form2_Load中加载数据

privatevoidForm1_Load(objectsender,EventArgse)

{this.inforTableAdapter.Fill(this.dataSet1.student);

}

4、输入编号查询

采用过滤方法实现,在DataGrid控件绑定和显示的数据基础上进行过滤,基本步骤通过代码实现

5、增加信息、修改信息。

采用过滤方法实现,在DataGrid控件绑定和显示的数据基础上进行增加、修改、删除,基本步骤通过代码实现,代码见源码

6、购买商品

查询商品单价及显示购买商品信息,代码见源码

7.设置密码

增加新窗口进行操作。

8.退出及返回上一步代码:

(其中之一)

Form1frm1=newForm1();

frm1.Show();

this.Hide();

5、个人总结

程序优点:

1.管理员登录需密码验证,保证安全;2.售货员登录无需密码,方便;3.管理员每次登陆可更改密码;4.进入系统后可返回登陆界面,而不是直接关闭程序,返回登陆界面后设置的密码依然有效,界面可切换;5.购物系统可通过扫描编号查询单价及所购商品名称,输入购买数量可给出总价;6.考虑到0的特殊性,程序给了提醒并做了修改,当密码全为0时登录不了系统。

程序缺点:

1.无法计算显示在listbook中各个商品价格总和,需进一步借助计算器计算。

2.查询只设计了通过编号查询代码。

个人心得:

在老师的指导,同学的帮助下,经过反复查阅资料,我终于圆满的完成了课程设计。

通过这次课程设计,让我更加深刻了解了课本知识,复习了上学期的知识的同时,添加了许多不知道的新知识,在设计过程中遇到一些或大或小的问题,比如说如何连接两个窗体,数据源的绑定等等,甚至有的数据很难查出,但是这些问题经过这次设计,都一一得以解决,我相信C#这本书中还有很多我不明白的问题,但是这次的课程设计给我相当的基础知识,为我以后工作打下了严实的基础。

虽然这次课程是那么短暂的1周时间,我感觉到这些天我的所学胜过我上一学期所学,这次任务是设计一个系统,其实就是一次大的作业,大的挑战,是让我对课本知识的巩固和对基本知识的熟悉和应用,编写程序细节往往很重要,错一点都不行,这使我做事的耐心和仔细程度得以提高。

我认为课程设计是培训学生运用课本所学的理论知识来分析解决实际问题的重要教学环节,是对上学期所学知识的复习和巩固。

同样,也促使了同学们查找资料的技能,加强了同学间相互探讨,相互学习的能力。

因此,我们必须珍惜这次机会,如果时间可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个系统,我相信无论是谁看到自己做出的成果时心里一定会很兴奋。

此次设计让我明白了一个很深刻的道理:

所学知识通过实践才能得到检验,才会记得更牢固,学到的东西才会更多。

通过课程设计使我们了解到一些实际与理论之间的差异,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的能力,把我们所学的课本知识与实践结合起来,起到温故而知新的作用。

这一周的设计让我感触很深。

我收获很多、学会很多、比以往更有耐心很多。

感谢学校及老师给我们这次课程设计的机会,最真挚的感谢我们的辅导老师,在设计过程中,老师精心的辅导和不厌其烦地的态度才使得我们以顺利的完成这次设计任务,任务的顺利完成为我以后学习计算机增强了信心,我只想说,这次课程设计完美!

6、参考文献

1.吴邵兴C#项目开发案例导航.北京;电子工业出版社,2012

2.徐新华数据库与MIDAS编程技术清华大学出版社,2000

3.

7、源程序

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Windows.Forms;

namespace_143403030608

{

staticclassProgram

{

///

///应用程序的主入口点。

///

[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();//创建命令对象myCommand

stringld_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对象myReader

MessageBox.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();//创建命令对象myCommand

stringld_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();//创建命令对象myCommand

stringld_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.studentTa

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

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1