药品管理系统的设计与实现
主要代码如下:
private void btnSave_Click(object sender, EventArgs e) { string strNew = txtConfirm.Text; SqlConnection conn = GetConnection(); try { if (txtOldpsw.Text == \||txtOldpsw.Text!=frm_Login.flagPassword) { MessageBox.Show(\原密码错误!\); } else { if (txtNewpsw.Text == \ || txtConfirm.Text == \) { MessageBox.Show(\密码不能为空!\); } else { if (txtNewpsw.Text != txtConfirm.Text) { MessageBox.Show(\两次密码不一致!\); txtNewpsw.Text = null; txtConfirm.Text = null; } else { SqlCommand cmd = new SqlCommand(@\where username=@username\, conn); conn.Open(); cmd.Parameters.Add(\, SqlDbType.VarChar).Value = frm_Login.flagUsername; cmd.Parameters.Add(\, SqlDbType.VarChar).Value = strNew; cmd.ExecuteNonQuery(); MessageBox.Show(\修改成功!\); conn.Close(); txtOldpsw.Text = null; txtNewpsw.Text = null; txtConfirm.Text = null; } } } } 第19页,共48页
药品管理系统的设计与实现
catch (Exception ex) { MessageBox.Show(\点击按钮事件异常:\\n\ + ex.ToString()); } } 4.1.5 药品信息管理模块
药品信息管理模块可进行药品信息的增、删、改,存储药品的基本信息,添加药品时编号以及拼音码自动生成。输入药品名称后,系统会自动获得由首字母组成的拼音码。计量单位选择框在窗体加载时会查询药品信息表里所有的计量单位以供选择,用户也可自行录入。查询选择药品后,如果要删除已经入库的商品,为了保证数据完善性,系统提示阻止删除,但可以修改库存低限。药品信息管理模块流程图如图19所示。
图19 药品信息管理模块流程图
第20页,共48页
药品管理系统的设计与实现
药品管理界面如图20所示。
图20 药品信息管理界面
窗体加载时会查询显示药品信息表里所有的计量单位的代码如下:
SqlConnection conn = GetConnection(); conn.Open(); //根据数据库里的数据绑定到计量单位选择框******************** this.cboUnit.DataSource = null; this.cboUnit.Items.Clear(); string sqlstring = @\; SqlDataAdapter sda = new SqlDataAdapter(sqlstring, conn); DataSet ds = new DataSet(); sda.Fill(ds); cboUnit.DataSource = ds.Tables[0]; cboUnit.DisplayMember = \; cboUnit.ValueMember = \; ds.Dispose(); //********************************************************** 系统自动获得拼音码的代码如下:
//using Microsoft.International.Converters.PinYinConverter;//引用微软相关类库后会有GetFirstPinyin(string str)方法 public static string GetFirstPinyin(string str) { string r = string.Empty; foreach (char obj in str) { 第21页,共48页
药品管理系统的设计与实现
try{ ChineseChar chineseChar = new ChineseChar(obj); string t = chineseChar.Pinyins[0].ToString(); r += t.Substring(0, 1);} catch{r += obj.ToString();} } return r; } private void txtName_Leave(object sender, EventArgs e) { //txtPYM.Text = Components.HZPY.Convert(txtName.Text); txtPYM.Text = GetFirstPinyin(txtName.Text).ToUpper(); } 4.1.6 入库登记模块
入库登记是系统的重要组成部分。进入入库登记窗口后,需填写必要信息。入库编号、入库时间和操作员由系统提取生成。进货单位下拉框自动查询显示之前的进货单位记录。填写药品拼音码后,则把药品信息表里存在的相应药品信息显示到辅助录入区,同时把可能的生产厂家绑定到生产厂家下拉框。填写相关信息后,入库总额由系统自动计算。保存时利用事务处理把相关信息保存到入库信息表以及库存表中,保存后如果发现信息有误,在已入库药品尚未发生业务前可以删除相应记录并重新录入。入库登记模块流程图如图21所示。
图21 入库登记模块流程图
第22页,共48页