数据库课程设计Word格式.docx
《数据库课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计Word格式.docx(29页珍藏版)》请在冰豆网上搜索。
2)过期药品的出库登记、处理记录。
3)药品库存检索。
4)供货商信息检索。
5)药品采购记录管理。
6)药品用药说明信息管理。
7)输出相应的数据报表。
8)具有数据备份和数据恢复功能。
1.3课程设计的要求
具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法。
二、需求分析
2.1系统需求
企业经营如逆水行舟不进则退。
每一个努力发展的企业都明白,先进管理的重要作用,引进先进管理系统使企业经营变得规范、合理。
进销存管理系统无论是在功能设计还是业务流程上都尽可能做到满足经营管理运作流程的需求,并且操作方便、功能强大,即使操作者对计算机知识一窍不通也能一用就会。
它强化库存管理,规范业务流程,提高资金管理的透明度,加快商品资金周转,是企业经营管理中数据分析中必不可少的管理工具。
根据市场的需求,要求系统具有以下功能:
1)新药品的入库。
2)过期药品的出库登记、处理记录。
3)药品库存检索。
4)供货商信息检索。
5)药品采购记录管理。
6)药品用药说明信息管理。
7)输出相应的数据报表。
8)具有数据备份和数据恢复功能。
系统主要为登陆,登陆后可以浏览,查询,添加,删除药品信息外还可以对销售记录进行浏览,删除,添加,修改。
本系统是根据中小企业的实际需求而开发的,完全能够实现药品入库、销售管理,通过本系统可以达到以下目标:
❑系统运行稳定,安全可靠。
❑界面设计美观,人机交互界面友好。
❑信息查询灵活、方便、快捷、准确,数据存储安全可靠。
❑强大的报表预览、打印功能。
❑信息安全保密。
开发及运行环境
硬件要求
CPU:
300MHz以上的处理器
内存:
128MB,推荐256MB
硬盘:
150MB以上剩余空间
显示像素:
最低800*600,最佳效果1024*768
软件要求
操作系统:
Windows2000/NT/XP/Vista。
数据库:
SQLServer2000。
2.2数据字典
基本表
表2.1药品分类代码表
字段中文名
字段名
类型
长度
类别
leibie
char
10
药品代码
yaodaima
药品名称
yaoming
30
表2.2供货商信息表:
供货商代码
shangdaima
供货商名称
shangming
40
供货商地址
address
50
供货商电话
phone
20
表2.3药品库存表:
库存数量
kucunliang
float
8
药品信息
yaoxinxi
varchar
生产日期
shengchanriqi
datetime
有效期至
youxiaoqizhi
表2.4采购信息表:
采购数量
caigouliang
采购总价
czong
表2.5过期药品处理表
处理数量
chuliliang
处理日期
chuliriqi
处理方法
chulifa
shenchanriqi
表2.6用户密码表
用户
yonghu
密码
mima
三、系统总体设计
3.1系统总体设计思路
根据需求分析,设计系统框架。
进销存系统由7部分组成。
设计各部分具体功能如下:
1)药品信息模块。
包括药品代码,名称,分类等。
2)供货商信息模块。
包括供货商代码,供货商名,地址,联系电话。
3)库存模块。
包括药品名称,药品代码,库存量,处理日期。
4)采购信息模块。
包括药品代码,采购量,采购日期,采购总价,主治症状。
5)过期药品处理模块。
包括药品代码,处理量,过期时间。
6)用户密码模块。
包括用户名,密码。
3.2概念模型设计
3.2.1局部E-R图
供应商实体图的属性包括供应商编号,供应商名称,供应商品数量,供应商地址,联系方式。
如图3—1所示
图3—1供应商实体图
管理员实体图的属性包括管理员编号,管理员姓名,性别,地址,联系方式,
部门。
如图3-2所示
图3-2管理员实体图
客户实体图的属性包括编号,姓名,性别,年龄,联系方式,地址。
如图3-3所示
3.2.2全局E-R图
3.3逻辑结构设计
3.4数据库建立实施
3.4.1建立数据库
3.4.2建立关系表
四、系统实现
4.1登陆框设计
图3.1登陆界面
登录按钮的代码:
UpdateData(true);
mimasetset;
set.m_strFilter.Format("
id='
%s'
"
m_id);
set.m_mima.TrimRight();
set.Open();
if(m_id.IsEmpty())
{
MessageBox("
用户名不能为空!
"
提示"
MB_ICONSTOP);
return;
}
if(m_mima.IsEmpty())
密码不能为空!
if(!
set.IsEOF())
set.m_id.TrimRight();
set.m_mima.TrimRight();
if(set.m_mima==m_mima)
{
menuDlg;
Dlg.DoModal();
}
else
密码错误!
else
用户名不正确!
4.2主菜单模块设计
图3.2功能选择窗口
子菜单选择按钮代码:
shuruDlg;
Dlg.DoModal();
其余按钮代码相同
4.3新药入库模块设计
图3.3供货商信息查询窗口
新药注册按钮的代码:
UpdateData(TRUE);
MessageBox("
药品代码不能为空!
shurusetset;
if(set.IsEOF())
set.AddNew();
set.m_id=m_id;
set.m_name=m_name;
set.m_zongjia=m_zongjia;
set.m_shuliang=m_shuliang;
set.m_zhengzhuang=m_zhengzhuang;
set.m_chulishijian=m_time;
set.Update();
m_list.InsertItem(0,set.m_id);
m_list.SetItemText(0,1,set.m_name);
m_list.SetItemText(0,2,set.m_zongjia);
m_list.SetItemText(0,3,set.m_shuliang);
m_list.SetItemText(0,4,set.m_zhengzhuang);
CStringstrTmp;
strTmp.Format("
%d-%d-%d"
set.m_chulishijian.GetYear(),set.m_chulishijian.GetMonth(),set.m_chulishijian.GetDay());
m_list.SetItemText(0,5,strTmp);
此药品已存在!
set.Close();
}
新药录入复选框的代码:
GetDlgItem(IDC_EDIT2)->
EnableWindow(m_bEnabled);
GetDlgItem(IDC_EDIT4)->
GetDlgItem(IDC_EDIT5)->
新药入库按钮代码:
set.Edit();
仓库内没有该药品,请先进行新药注册!
取消按钮的代码:
OnCancel();
4.4过期药品出库模块设计
3.3过期药品出库页面
录入按钮的代码:
UpdateData(true);
m_list.DeleteAllItems();
chukusetset;
shurusetset1;
intflag=1;
if(m_id.IsEmpty()||m_name.IsEmpty()||m_riqi.IsEmpty()||m_shuliang.IsEmpty())
flag=0;
for(inti=0;
i<
m_id.GetLength();
i++)
{
charc;
c=m_id.GetAt(i);
if(c<
'
0'
||c>
9'
)
flag=0;
if(flag==0)
有选项未填写或填写有误!
提示"
set1.m_strFilter.Format("
set1.Open();
if(set1.IsEOF())
{
MessageBox("
仓库内没有此药品!
return;
}
else
set1.Delete();
set1.Requery();
set1.Close();
set.m_riqi=m_riqi;
set.MoveLast();
m_list.SetItemText(0,2,set.m_shuliang);
m_list.SetItemText(0,3,set.m_riqi);
UpdateData(false);
添加成功!
MB_OK);
删除出库按钮:
intn=1;
set.MoveFirst();
while(!
set.m_id.TrimRight();
if(set.m_id==m_id)
set.Delete();
set.Requery();
n=0;
set.MoveNext();
}
if(n==1)
没有此药品!
警告"
MessageBox("
删除成功"
set.Close();
4.5库存药品查询模块设计
图3.5库存药品查询窗口
查询按钮的代码同上。
UpdateData();
jiansuo1set;
if(m_choose==0)
if(m_cha.IsEmpty())
请输入查询内容!
return;
else
{
set.m_strFilter.Format("
m_cha);
set.Open();
if(set.IsEOF())
没有该药品!
intn=m_list.GetItemCount();
//获取总行数
m_list.InsertItem(n,set.m_id);
//重新添加一行,参数n:
插入项的索引值,后面为插入的字符串
m_list.SetItemText(n,1,set.m_name);
//n:
行索引,1:
列索引,最后为:
文本字符串
m_list.SetItemText(n,2,set.m_zongjia);
m_list.SetItemText(n,3,set.m_shuliang);
m_list.SetItemText(n,4,set.m_zhengzhuang);
CStringstrTmp;
strTmp.Format("
m_list.SetItemText(n,5,strTmp);
set.Close();
elseif(m_choose==1)
intn=0;
set.MoveFirst();
while(!
set.m_name.TrimRight("
"
);
if(set.m_name==m_cha)
{
n++;
}
set.MoveNext();
set.Close();
if(n==0)
请选择查找类型!
4.6采购商信息管理模块设计
3.6采购商信息管理模块界面
修改按钮代码:
shangsetset;
intn=0;
if(set.m_id==m_chaid)
已找到采购商信息,确定修改吗?
MB_OKCANCEL);
set.Edit();
if(m_chechname.GetState()==1)
set.m_name=m_name;
if(m_chechadd.GetState()==1)
set.m_address=m_add;
if(m_chechphone.GetState()==1)
set.m_phone=m_phone;
set.Update();
修改成功!
n=1;
}set.MoveNext();
set.Close();
if(n==0)
未找到采购商信息,请确认信息正确性!
删除按钮代码:
if(set.m_id==m_chaid)
没有此供货商!
删除成功!
4.7药品采购信息查询模块设计
3.7药品采购信息查询界面
查询按钮代码:
UpdateData(TRUE);
if(m_chaid.IsEmpty())
搜索信息不能为空!
caigousetset;
m_chaid);
此药品不存在!
return;
列索