药品管理系统的设计与实现
spec unit amount pihao lowwarning inprice sellprice in_time producedate usefuldate in_by
varchar varchar int varchar int 50 50 4 50 50 4 Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null 药品规格 计量单位 入库数量 批号 批准文号 库存低限 进货单价 销售单价 入库时间 生产日期 失效日期 操作员 pizhunwenhao varchar decimal(18, 2) decimal(18, 2) datetime datetime datetime varchar 50 6. Sell(销售信息表)
销售信息表用于存储售出药品的信息,该表的结构如表6所示。
表6销售信息表
字段名 pinyinma drugname factory sellprice sellamount allprice s_id selltime sell_by ID spec unit
数据类型 varchar varchar varchar int varchar datetime varchar varchar varchar varchar 长度 50 50 50 4 20 50 20 50 50 备注 Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null 拼音码 药品名称 生产厂家 销售单价 销售数量 销售总额 说明 decimal(18, 2) decimal(18, 2) 销售编号(自动编号) 销售时间 操作员 入库编号(自动编号) 药品规格 计量单位 7. ReturnG(退货信息表)
退货信息表用于存储退货的药品的各项信息,该表的结构如表7所示。
第11页,共48页
药品管理系统的设计与实现
表7退货信息表
字段名 r_id ramount totalprice rtime return_by reason pinyinma drugname ID inprice factory 数据类型 varchar int datetime varchar varchar varchar varchar varchar varchar 长度 20 4 50 50 50 50 20 50 备注 主键 Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null 退货数量 退货总额 退货时间 操作员 退货原因 拼音码 药品名称 说明 退货编号(自动编号) decimal(18, 2) 入库编号(自动编号) 入库单价 进货单位 decimal(18, 2) 8. Breakage(报损信息表)
报损信息表用于存储已报损的药品的各项信息,该表的结构如表8所示。
表8报损信息表
字段名 b_id bamount btime breakage_by reason ID pinyinma drugname inprice allprice
数据类型 varchar int datetime varchar varchar varchar varchar varchar 长度 20 4 50 50 20 50 50 备注 主键 Not null Not null Not null Not null Not null Not null Not null Not null Not null 报损编号 报损数量 报损时间 操作员 报损原因 入库编号 拼音码 药品编号 入库单价 报损总额 说明 decimal(18, 2) decimal(18, 2) 9. Adjustprice(调价信息表)
调价信息表用于存储药品调价的记录,该表的结构如表9所示。
第12页,共48页
药品管理系统的设计与实现
表9调价信息表
字段名 adjust_id ID pinyinma drugname oldprice newprice adjust_by 数据类型 varchar varchar varchar varchar decimal(18, 2) decimal(18, 2) varchar 长度 20 20 50 50 50 备注 主键 Not null Not null Not null Not null Not null Not null Not null 说明 调价编号 入库编号 拼音码 药品名称 原单价 新单价 调价时间 操作员 adjust_time datetime 4 系统详细设计与实现 4.1 功能模块的具体实现 4.1.1登录模块
为保证信息安全,设置必须进行识别用户才可进入系统主界面。用户名及密码其中任一个错误都会有相应的提示信息,并自动清空用户名和密码。只有两者全部正确后方可进入管理系统主界面。用户登录模块流程图如图13所示。
图13 用户登录模块流程图
第13页,共48页
药品管理系统的设计与实现
登录界面如图14所示。
图 14 登录界面
主要代码如下:
public static string flagUsername = null; public static string flagPassword = null; public static string flagAdmin = null; private void btnLogin_Click(object sender, EventArgs e) { string strUsn = this.userName.Text; string strPsw = this.txtpsw.Text; try { SqlConnection sc = new SqlConnection(@\); string sqlstring = \ + strUsn + \; SqlCommand cmd = new SqlCommand(sqlstring, sc); sc.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { if (dr[\].ToString() == strPsw) { this.DialogResult = DialogResult.OK; flagUsername = strUsn;//取得登录用户名 flagPassword = strPsw;//取得登录密码,用于修改密码时对比 flagAdmin = dr[\].ToString();//取得用户类型,是否管理员 } else { 第14页,共48页