《药品管理系统》word版Word下载.docx
《《药品管理系统》word版Word下载.docx》由会员分享,可在线阅读,更多相关《《药品管理系统》word版Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
员工信息:
员工编号、姓名、性别、年龄、学历、职务等;
客户信息:
客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。
(1)药品信息:
属性
数据类型
可否为空
字段说明
药品编号
INT
否
主键,自增
药品名称
CHAR
生产厂家
生产日期
价格
数量
采购员
(2)员工信息:
员工编号
姓名
主键
性别
年龄
职务
(3)顾客信息:
客户编号
联系方式
购买时间
购入药品标号
五.数据库设计
打开MicrosoftSQLServer2008,并创建一个名为药品存储信息管理系统的数据库,用SQL语句建立Medicinal表,Staff表和Customer表。
程序如下:
CREATETABLEMedicinal
(药品编号INTPRIMARYKEY,
药品名称CHAR(20)UNIQUE,
生产厂商CHAR(20)UNIQUE,
生产日期CHAR(20)UNIQUE,
价格CHAR(20)UNIQUE,
数量INTUNIQUE,
);
CREATETABLEStaff
(员工编号INTPRIMARYKEY,
姓名CHAR(20)UNIQUE,
性别CHAR(20)UNIQUE,
年龄CHAR(20)UNIQUE,
职务CHAR(20)UNIQUE,
CREATETABLECustomer
(客户编号INTPRIMARYKEY,
联系方式CHAR(20)UNIQUE,
购买时间CHAR(20)UNIQUE,
购入商品编号INTUNIQUE,
运行结果如下:
Medicinal表:
Customer表:
Staff表:
之后编辑各个表,并在表的设计中将表级联起来:
三个表的关系图:
六.VB6.0做前台,界面设计与程序
(1)主界面如下:
主界面代码如下:
PrivateSubTimer1_Timer()
Label1.Left=(Form1.Width-1000)*Rnd
Label1.Top=(Form1.Height-1200)*Rnd
EndSub
PrivateSub库存药品信息_Click()
Me.Hide
Form4.Show
PrivateSub退出药品管理系统_Click()
DimaskAsInteger
ask=MsgBox("
确定退出系统?
"
vbYesNo)
Ifask=7Then
Form1.Show
ElseEnd
EndIf
PrivateSub药品出库信息_Click()
Form3.Show
PrivateSub药品入库信息_Click()
Form2.Show
(2)当在主界面的菜单栏中点击药品入库信息时,跳转到如下页面:
设计时该页面的程序如下:
PublicColValAsString'
读取表中列值的变量
PublicobjConnAsNewADODB.Connection
PublicobjRSAsNewADODB.Recordset'
连接数据库设置
PublicSubOpenDB()
objConn.ConnectionString="
Provider=SQLOLEDB.1;
IntegratedSecurity=SSPI;
PersistSecurityInfo=False;
InitialCatalog=药品存销信息管理系统;
DataSource=WIN-7P8V88AM9J0\DONGRUIMING"
objConn.Open
PublicSubCloseDB()
objConn.Close
PrivateSubCommand1_Click()
DimaAsInteger
IfTrim(Text1.Text)="
Then
MsgBox"
药品入库名称不能为空!
vbOKOnly
ExitSub
EndIf
IfTrim(Text2.Text)="
生产厂商不能为空!
IfTrim(Text3.Text)="
药品生产日期不能为空!
IfTrim(Text4.Text)="
药品入库价格不能为空!
IfTrim(Text5.Text)="
入库数量不能为空!
IfTrim(Text6.Text)="
采购员不能为空!
OpenDB
DimstrSQLAsString
strSQL="
Select*fromMedicinal"
'
添加药品入库信息
objRS.OpenstrSQL,objConn,adOpenKeyset,adLockOptimistic
objRS.AddNew
objRS.Fields
(1)=Trim(Text1.Text)
objRS.Fields
(2)=Trim(Text2.Text)
objRS.Fields(3)=Trim(Text3.Text)
objRS.Fields(4)=Trim(Text4.Text)
objRS.Fields(5)=Trim(Text5.Text)
objRS.Fields(6)=Trim(Text6.Text)
objRS.Update
objRS.Close
CloseDB
a=MsgBox("
添加成功!
继续否?
Ifa=6Then
Form2.Show
Text1.Text="
Text2.Text="
Text3.Text="
Text4.Text="
Text5.Text="
Text6.Text="
Else
Me.Hide
PrivateSubCommand2_Click()
Form1.Show
(3)当在主界面的菜单栏中点击药品出库信息时,跳转到如下页面:
其代码如下:
IfText1>
"
Adodc1.Recordset.Find"
药品名称='
&
Text1.Text&
,,1
IfAdodc1.Recordset.EOFThenMsgBox"
无此药品!
,"
提示"
Form5.Show
PrivateSubCommand3_Click()
当按查询按钮时,引发Command1_Click()事件,当按返回系统时,跳转当系统主页,当按确定购买键的时侯,跳转到如下界面:
PublicobjRSAsNewADODB.Recordset
PublicobjConn1AsNewADODB.Connection
PublicobjRS1AsNewADODB.Recordset
objConn1.ConnectionString="
objConn1.Open
objConn1.Close
姓名不能为空!
联系方式不能为空!
家庭住址不能为空!
药品编号不能为空!
数量不能为空!
日期不能为空!
Select*fromCustomer"
DimstrSQL1AsString
strSQL1="
objRS1.OpenstrSQL1,objConn,adOpenKeyset,adLockOptimistic
objRS.Fields(3)=Trim(Text6.Text)
objRS.Fields(5)=Val(Text5.Text)
Adodc2.RecordSource="
select*fromMedicinalwhere药品名称='
Text4&
Adodc2.Refresh
objRS1.Fields("
数量"
)=objRS1.Fields("
)-Val(Text5)
objRS1.Update
a=MsgBox("
购买成功!
Ifa=6Then
PrivateSubForm_Load()
Dimmlink$,mpath$
mpath=App.Path
IfRight(mpath,1)<
>
\"
Thenmpath=mpath+"
mlink="
Adodc2.ConnectionString=mlink
Adodc2.CommandType=adCmdUnknown
当按确定键时,先判断所填内容是否符合要求,若不符合要求,则提示错误,若正确,则提示购买成功,并把顾客信息写入顾客表中,并且所对应药品的数量应减去客户所购买的数量。
当点是按钮时,则继续购买,否则返回系统主界面。
当在主界面菜单栏中点击药品库存信息时,进入下面界面:
代码如下:
End
Adodc1.RecordSource="
Select*fromMedicinal,StaffWhereStaff.姓名=Medicinal.采购员and药品名称='
Text1&
Adodc1.Refresh
IfAdodc1.Recordset.EOFThenMsgBox"
无此药品"
Adodc1.ConnectionString=mlink
Adodc1.CommandType=adCmdUnknown
当点击查询按钮时,引发Command3_Click()事件,把该药品信息和采购员的信息显示来。
如下:
七.课设总结
在进行本次实验之前,有关数据库的知识只是在课本上学了一点基础知识而已,对于实际中,数据库是如何应用的所知胜少。
对于我来说,之前,看到那些管理软件觉得很陌生。
在这次的试验中,我学习了:
VisualBasic的菜单和链接窗口的构建和链接方法;
练习了VisualBasic窗口的设计,包括文本框的属性设置和按钮的触发事件
学习了将SQLServer2008数据表中信息在窗口中的文本框显示出来的方法和将文本框中的信息放入SQLServer数据表中的方法。
在设计的过程中,也遇到了很多问题,比如链接数据库并对其进行增、删、改操作耗费了大量的时间。
在解决这些问题的同时,进一步加深了对Visual和SQLServer的运用和理解,对于数据库的使用也有了更深的理解。
但是,由于对这方面的知识不太了解,现学现卖,并且做之前没有作充分的需求分析,造成考虑不周全,系统不够完善,存在很多不足和漏洞。
总的来说,这个课程设计对我意义重大,通过这次的学习,锻炼并提高了了自己的动手能力和编程能力。
八.参考文献
1.《VisualBasic程序设计教程(第三版)》龚沛曾等编
2.《数据库系统概论(第四版)》王珊萨师煊
3.《SQLServer2008基础教程》(英)RobinDewson董明(译)