药品进销存管理系统数据库课程设计.docx
- 文档编号:6055324
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:21
- 大小:407.03KB
药品进销存管理系统数据库课程设计.docx
《药品进销存管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《药品进销存管理系统数据库课程设计.docx(21页珍藏版)》请在冰豆网上搜索。
药品进销存管理系统数据库课程设计
数据库课程设计报告
课题:
药品进销存管理系统
专业班级:
计算机科学与技术
学号:
姓名:
指导教师:
老师
学院:
信息工程学院
2015年6月18日
摘要
信息时代已经来临,信息处理的利器——计算机,应用于商品的日常管理,为经济管理的现代化带来了从未有过的动力和机遇,为商品销售领域的发展提供了无限的潜力。
采用计算机管理信息系统已成为商品管理科学化和现代化的标志,给销售商带来了明显的经济效益和社会效益。
这个数据库系统是一个药品进销存管理系统,包括药品销售界面、库存查询界面以及药品信息查询界面,分别有添加、删除、查阅等功能。
药品进销存管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用visualStudio2010以及SQL2008开发工具,利用其易于上手和强大的数据库支持,便我们快速开发出这个系统。
1课程设计的目的和意义
药品管理是商品管理的一种。
一些大中型的医院、药品专卖店或药房,往往存在对药品的进销存管理问题。
采用传统的管理式费工费时、效率低下。
因此设计出一款能够满足需要的软件,不仅能使办公效率大大提升,也对管理的科学性、安全性、可预见性面提供了依据。
这对企业来说节约了成本、提高了可靠性,也更便于操作。
2需求分析
这个系统是面向销售的。
所以应从他们的角度考虑,系统应便他们对药品进行日常管理,所以大体上包括以下容:
药品销售的管理、药品入库的管理、库存的管理、药品基本信息的管理,在药品销售窗体中,功能基本上包括基本药品的查询及选购数量和总价,一些简单的计算包括录入销售单价和数量之后自动计算出总额,在入库管理中,功能基本上包括药品添加、删除和修改等等;在库存管理窗体中基本功能包括基本库存信息的浏览和查询等。
数据库面,和前面的功能相对应的,包括三个表:
登录表、、库存表、药品信息表。
登录表中主要存储用户的账号和密码信息,库存表中存储的包括每一种药品的现存量,药品信息表中存储每一种药品的基本信息,包括药品名称、用量等。
库存与销售之间的联系时这样的,销售一次药品,库存信息表中的相应的药品的数量减掉销售的数量。
这些功能基本上满足了一个销售的对日常药品的管理需求,能够在一定程度上加快管理的效率,提高管理的效率和可靠性。
可行性分析
可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步案与计划。
可行性分析是对系统进行全面、概要的分析。
通过调查分析,本系统设计主要有以下三个可行性:
.1操作可行性
本系统操作简单,易于理解,只需通过简单指导,上手较快,运行环境要求低。
技术可行性
本系统利用Visualstudio2010开发工具,并使用SQLServer2012作为数据库管理系统,来实现医院药品进销存系统的各种功能。
SQLServer2012属于主从时式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口。
3.总体设计
本系统将涉及多个窗体的制作,从而实现多项管理功能。
期中包括对药品信息的管理,它专门用于对药品的各种信息的管理;对药品进货的管理;对药品销售的管理;对药品库存的管理。
在这些数据管理中,还可以实现一些数据的自动计算功能。
总共11个窗体,分别为登陆窗体、菜单选择窗体和九个功能窗体。
登陆窗体要求密码和用户名都正确才能登陆,否则无法使用本系统;菜单选择窗体提示用户进行相应的功能选择;四个功能窗体分别完成药品销售、药品进货、药品信息、库存管理功能。
后台数据库的设计总共有三个表,包括登录表、药品信息表、库存信息表。
作为后台的支持,分别和前面的功能界面连接。
C/S模式
本系统事实上是基于C/S模式的信息管理系统,客户机通过服务器去访问所需要的数据库,在这里客户机就是指VB开发应用程序,服务器是指SQLServer2000所用的服务器,本系统用的是本地服务器,系统模式图如下图2-1所示:
图2-1系统模式图
这里VB客户应用程序通过本地服务器连接到SQLServer2000的数据库,访问所需要的数据信息。
在学生学籍管理系统中,从而实现用户对相应的数据信息进行修改、查询和录入等操作,以达到对学生学籍面工作的各项管理。
C/S模式简介
C/S模式是一种两层结构的系统:
第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。
C/S模式主要由客户应用程序、服务器管理程序和中间件三个部分组成,以下是C/S模式的一些优点:
●C/S交互性强。
因为客户端有一套完整应用程序,在出错提示、在线帮助等面都有强大的功能,并且可以在子程序间自由切换。
●C/S模式提供了更安全的存取模式。
由于CS配备的是点对点的结构模式,采用适用于局域网、安全性可以得到可靠的保证。
●响应速度快。
由于客户端实现与服务器的直接相连,没有中间环节。
●操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。
确保SQLServer2008服务器正常工作
1.SQLServer2008安装完毕后,启动【服务管理器】,在如图2-2所示的【SQLServer服务管理器】界面中可以查看服务器的服务是否正常启动。
图2-2【SQLServer服务管理器】界面
2.启动服务器上的【企业管理器】,查看【企业管理器】是否能够正常管理。
测试SQLServer2008和本地服务器的连接
1.启动【查询分析器】。
由于【查询分析器】首选必须连接服务器,然后才能工作。
出现【连接到SQLServer】界面,在【SQLServer】文本框中输入本地服务器的别名,或者单击按钮将客户机能够自动识别的别名添加进来。
完成设置后单击按钮。
2.成功连接到本地数据库服务器界面。
表明连接参数配置正确,如果不能出现此界面,则需要仔细检查本地服务器参数是否正确。
其次Vc与SQL2008建立联系各构成数据源;
4.详细设计
一.前台应用程序的设计
总共包括11个窗体,其中有登录窗体、菜单选择窗体和九个功能窗体,九个功能窗体包括药品信息查询窗体、药品库存查询窗体、药品销售窗体、药品入库窗体及药品修改窗体等。
登录窗体中包括两个lebel控件、两个按钮控件、两个textbox控件,当然要对相应的控件进行必要的设置,
菜单选择窗体中就是几个简单的MenuStrip控件。
分别进入功能子系统。
九个功能窗体如下:
药品销售窗体:
一个datagridview控件和三个button控件,三个textbook控件,三个label控件。
进货记录窗体资源
药品信息窗体
二.后台数据库的设计
一个数据库,三个基本表,为每一个表建立基本的属性和主键。
流程图如下
图1.流程图
:
概念结构设计
概念结构设计通常是使用E-R图对它的描述工具进行设计,对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计E-R图
4系统实现
1.在药品销售窗体中,先实现药品查询以便确认,并在datagridview中显示药品信息;
在查询按钮上代码如下
privatevoidbutton2_Click(objectsender,EventArgse)
{
stringuserName=Box1.Text;
stringpassword=Box2.Text;
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统;IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("select*from药品信息whereypcode='{0}'orypname='{1}'",password,userName);
dataAdapter=newSqlDataAdapter(sql,connection);
dataset=newDataSet();
dataAdapter.Fill(dataset);
dataGridView1.DataSource=dataset.Tables[0];
}
2.在确认交易按钮里添加如下代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
strings=textBox3.Text;
stringuserName=Box1.Text;
stringpassword=Box2.Text;
inti=Int32.Parse(s);
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统;IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("selectkcamountfrom库存whereypcode='{0}'orypname='{1}'",password,userName);
SqlCommandcommand=newSqlCommand(sql,connection);
connection.Open();
intnum=(int)command.ExecuteScalar();
intd;
d=num-i;
stringsqll=String.Format("update库存setkcamount='{0}'whereypcode='{1}'",d,password);
SqlCommandcommandl=newSqlCommand(sqll,connection);
intaa=(int)commandl.ExecuteNonQuery();
if(aa>0)
{
MessageBox.Show("出售成功|");
}
3.在药品信息检索中的执行查询按钮中添加代码如下:
stringuserName=Box1.Text;
stringpassword=Box2.Text;
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("select*from药品信息whereypcode='{0}'orypname='{1}'",password,userName);
dataAdapter=newSqlDataAdapter(sql,connection);
dataset=newDataSet();
dataAdapter.Fill(dataset);
dataGridView1.DataSource=dataset.Tables[0];
4药品入库代码如下:
库存TableAdapter.Update(医院药品进销存DataSet4.库存;
MessageBox.Show("您已成功修改药品信息,"您已成功修改药品信息",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
5修改药品信息代码如下:
tringconnString="DataSource=.;InitialCatalog=医院药品进销存系统IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
DataTabledt=newDataTable();
stringupdate="update药品信息setypname='"+textBox2.Text.ToString()+"',price='"+textBox7.Text.ToString()+"',chengfen='"+textBox5.Text.ToString()+"',guige='"+textBox3.Text.ToString()+"',yongliang='"+textBox6.Text.ToString()+"',ypcode='"+textBox1.Text.ToString()+"'whereypcode='"+textBox1.Text+"'";
try
{
connection.Open();
SqlCommandcmd=newSqlCommand(update,connection);
intn=cmd.ExecuteNonQuery();
if(n>0)
{
MessageBox.Show("修改药品成功");
}
else
{
MessageBox.Show("修改药品失败");
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
connection.Close();
}
}
6删除药品代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringbianhao=textBox1.Text;
tringconnString="DataSource=.;InitialCatalog=医院药品进销存系统IntegratedSecurity=true";
try
{
connection.Open();
stringsql=String.Format("deletefrom药品信息whereypcode={0}",bianhao);
SqlCommandcmd=newSqlCommand(sql,connection);
intnum=(int)cmd.ExecuteNonQuery();
if(num>0)
MessageBox.Show("删除成功","");
else
{
MessageBox.Show("删除失败","");
}
}
catch(Exceptiona)
{
MessageBox.Show(a.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();
}
}
5系统调试
系统开始运行界面如图:
图2.登陆
输入账号和密码后(管理员、111111)将进入菜单选择窗体,如下图:
图5.菜单选择窗体
进入第一个进货信息后,执行查询,如下图所示:
查询单个药品
返回后进入第二个功能窗体,同样执行库存查询显示如下:
返回后进入药品销售窗体,
图8.药品销售管理窗体
返回后,进入下一个功能窗体:
新品入库(购买药品药品)
删除药品信息
修改库存信息
小结
在这次课程设计中,是对自己动手能力的一次考验,通过老师的讲解、同学的帮助和自己的课后学习,学到了很多有用的知识,对数据库知识在软件工程的应用中有了初步的了解,为以后自己的学习和工作奠定和坚实的基础。
由于是第一次使用visualstudio2010开发软件,在控件的使用上显得的很不足,不断的通过看视屏和资料渐渐的掌握了一些常见控件的用法,在数据库的支持上也学到了很多知识,当然第一次开发出一个较复杂的系统,难免在软件的质量上会有欠完善的地,由于时间紧迫,没能做到尽善尽美,在功能上,也没什么特别出彩的亮点,这是遗憾。
当然在以后的学习中会不断的积累经验和知识,不断提高自己的能力。
针对系统的不足还有以下几个面需要进一步的完善和补充:
(1)界面有待进一步改进,使其更加美观。
(2)检测系统错误需进一步完善。
(3)系统的维护功能要更强。
(4)数据备份和恢复更完善。
在软件的美化上,前几个功能窗体基本上还加了点图片,但自己没什么美术功底,所以此软件在外观上还是有很多地可以改进的。
参考文献
夏邦贵编著.SQLServer数据库开发入门与例解析.北京:
机械工业出版社,
金林樵,唐军芳等编著.SQLServer数据库应用开发技术.北京:
机械工业出版社,
C#100个编程实例程序
C#入门经典
VisualC#.net程序设计教程
部分源代码
1登陆
privatevoidbutton1_Click(objectsender,EventArgse){
stringuserName=txtname.Text;
stringpassword=txtpwd.Text;
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统;IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("selectcount(*)from账户密码表whereusername='{0}'andcode={1}",userName,password);
try
{
connection.Open();
SqlCommandcommand=newSqlCommand(sql,connection);
intnum=(int)command.ExecuteScalar();
if(num>0)
{
MessageBox.Show("","登录医院药品进销存系统̨?
成¨¦功|",
MessageBoxButtons.OK,MessageBoxIcon.Information);
Form2form=newForm2();
form.Show();
this.Visible=false;
}
else
{
MessageBox.Show("您输入有误","登录失败¹",MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错",
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
2修改信息
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统;IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connectionString);
DataTabledt=newDataTable();
stringupdate="update药品信息setypname='"+textBox2.Text.ToString()+"',price='"+textBox7.Text.ToString()+"',chengfen='"+textBox5.Text.ToString()+"',guige='"+textBox3.Text.ToString()+"',yongliang='"+textBox6.Text.ToString()+"',ypcode='"+textBox1.Text.ToString()+"'whereypcode='"+textBox1.Text+"'";
try
{
connection.Open();
SqlCommandcmd=newSqlCommand(update,connection);
intn=cmd.ExecuteNonQuery();
if(n>0)
{
MessageBox.Show("修改信息成¨¦功|!
ê?
");
}
else
{
MessageBox.Show("修改信息?
");
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
connection.Close();
}
}
3删除
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringbianhao=textBox1.Text;
stringconnString="DataSource=.;InitialCatalog=医院药品进销存系统;IntegratedSecurity=true";
try
{
connection.Open();
stringsql=String.Format("deletefrom库存whereypcode={0}",bianhao);
SqlCommandcmd=newSqlCommand(sql,connection);
intnum=(int)cmd.ExecuteNonQuery();
if(num>0)
MessageBox.Show(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药品 进销存 管理 系统 数据库 课程设计