零售药店管理系统设计报告ASP_第1页
零售药店管理系统设计报告ASP_第2页
零售药店管理系统设计报告ASP_第3页
零售药店管理系统设计报告ASP_第4页
零售药店管理系统设计报告ASP_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

苏州科技学院二九 二一学年第二学期电子信息工程学院课程设计报告书课程名称: 零售药店管理系统设计 班 级: 计算机0825 学 号 姓 名: 王 噱 指导教师: 吴 宏 杰 二一年七月1.系统功能需求分析药店管理管理系统要求实现对药品进行计算机管理。该系统主要包括以下内容:用户登录验证药品主要信息表,对其的操作有插入、删除、查找、更新。会员信息表,对其的操作有查找,按会员编号查找。销售情况表,对其的操作有排序,按月总收入排序。2.系统分析与设计2.1数据库结构本实验共有5张表。1,用户登录的相关数据表结构(本实验是一个药店管理系统,主要用户就是管理员,管理员就一人) 2,药品主要信息表3,会员信息表4,6个月的销售额表 5,每月的总收入表2.2 窗体类型本实验包括四个窗体:1)用户登录窗体2)药品主要信息窗体3)会员管理窗体4)药店销售情况窗体2.3 流程图身份验证登录密码.mdbb.mdb药品信息用户管理会员信息.mdb销售情况销售情况.mdb3.用户手册3.1用户登录用户登录设计界面图如下:图4.1用户登录设计界面用户通过输入用户名和密码就可以进入主页面了,此系统主要就是给药品信息管理员使用,所以只有一个用户。3.2药品信息药品信息界面图如下:图4.2药品信息设计界面进入主页面后,就可以通过表看见药品的主要信息,内容有药品名称、价格、生产批号、药物数量、生产日期、保质期。然后页面中有有3个groupBox,分别可以对药品的主要信息进行插入、删除、查询操作。每次做插入或者删除时,都需要按一下更新的按钮,这样就可以看到最新的数据。每次做完插入、删除或者查询时,可以点击右下角的清空按钮,那么以前在文本框中的记录就会清空。点击左上角的菜单,可以分别到会员管理页面和销售情况页面。3.3会员管理会员管理设计界面如下图:图4.3会员管理界面 会员管理页面,有一个查询功能,是按照会员编号查询的,把编号输入文本框,点击查询按钮,下面的richTextBox就会出现此会员的信息。3.4 销售情况图4.4销售情况界面销售情况页面,有2张表,上面一张表具体显示了6个月来每周的销售额,下面一张表,形象地列出了每个月的月总收入。点击排序按钮,右边的richTextBox中就会按这6个月的月总收入排序。4.程序主要代码4.1登录的相关代码private void button1_Click(object sender, EventArgs e) string cn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + Application.StartupPath + /biao.mdb + ;Persist Security Info=True; OleDbConnection cnn = new OleDbConnection(cn); OleDbConnection cnn1 = new OleDbConnection(cn); string txt3 = Select * From 登录密码 where 用户名= + + textBox1.Text + + and 密码= + textBox2.Text; OleDbCommand com = new OleDbCommand(txt3, cnn); DataTable dt = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(); da.SelectCommand = com; OleDbCommandBuilder cb = new OleDbCommandBuilder(da); da.Fill(dt); if (dt.Rows.Count = 0) MessageBox.Show(无此用户,请重新输入); else Form2 my = new Form2(); my.ShowDialog(); 4.2药品信息插入的相关代码private void button3_Click(object sender, EventArgs e) String strSQL = INSERT INTO b(药品名称,价格,生产批号,药物数量,生产日期,保质期) VALUES( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + , + textBox6.Text + ); OleDbConnection conn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=biao.mdb); OleDbCommand comm = new OleDbCommand(strSQL, conn); conn.Open(); try comm.ExecuteNonQuery(); MessageBox.Show(添加成功!); catch (Exception ex) MessageBox.Show(添加出错!错误原因为:n + ex.Message + n); conn.Close();4.3药品信息删除的相关代码 private void button2_Click(object sender, EventArgs e) string connStr, delCmd; OleDbConnection conn; connStr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biao.mdb; delCmd = Delete From b Where 药品名称= + + textBox8.Text + ; OleDbCommand cmd; conn = new OleDbConnection(connStr); try conn.Open(); cmd = new OleDbCommand(delCmd, conn); cmd.ExecuteNonQuery(); if (textBox8.Text = ) MessageBox.Show(请输入药品名称!); else MessageBox.Show(删除成功); catch (Exception ex) MessageBox.Show(Error in handing: + ex.Message); finally if (conn != null) conn.Close(); 4.4药品信息查询的相关代码private void button4_Click(object sender, EventArgs e) string selectCmd = Select * From b Where 药品名称= + + textBox7.Text + ; string connStr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biao.mdb; OleDbConnection conn; OleDbCommand cmd; OleDbDataReader myReader; conn = new OleDbConnection(connStr); conn.Open(); try cmd = new OleDbCommand(selectCmd, conn); myReader = cmd.ExecuteReader(); if (myReader.Read() richTextBox1.Text = 药品名称: + myReader药品名称.ToString() + n + 价格: + myReader价格.ToString() + n + 生产批号: + myReader生产批号.ToString() + n + 药物数量: + myReader药物数量.ToString() + n + 生产日期: + myReader生产日期.ToString() + n + 保质期: + myReader保质期.ToString() + n; else MessageBox.Show(找不到该药品!); myReader.Close(); catch (Exception ex) MessageBox.Show(错误: + ex.Message); finally if (conn != null) conn.Close(); 4.5药品信息更新的相关代码 private void button1_Click(object sender, EventArgs e) result = ; OleDbConnection conn = new OleDbConnection( Provider=Microsoft.Jet.OLEDB.4.0; + Data Source=biao.mdb); try String strSql = Select * From b; conn.Open(); dadapter = new OleDbDataAdapter(); dadapter.SelectCommand = new OleDbCommand(strSql, conn); dset = new DataSet(); dadapter.Fill(dset); conn.Close(); dataGridView1.DataSource = dset.Tables0; catch (Exception ex) MessageBox.Show(错误: + ex.Message); finally if (conn != null) conn.Close(); 4.6文本框清空的相关代码private void button6_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; textBox3.Text = ; textBox4.Text = ; textBox5.Text = ; textBox6.Text = ; textBox7.Text = ; textBox8.Text = ; richTextBox1.Text = ; 4.7月总收入排序的相关代码private void button2_Click(object sender, EventArgs e) OleDbConnection a = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=biao.mdb); string sqlString = select 月份,月总收入from 月总收入order by 月总收入; OleDbCommand t = new OleDbCommand(sqlString, a); a.Open(); OleDbDataReader dr = t.ExecuteReader(); richTextBox1.Text = 月份tt月总收入n; while (dr.Read() richTextBox1.AppendText(dr月份 + tt); richTextBox1.AppendText(dr月总收入 + ttn); a.Close(); 5.设计过程中遇到的主要问题1) dataGridView在Form的显示 原来觉得每次打开页面,都要把数据库加载一下,觉得很多余,所以选择打开页面直接显示dataGridView,谁知道,后来很麻烦,每次改数据库里的内容的时候,都要重新导入一次新的数据源,但旧的数据源依然在,总是出现错误。后来数据源太多了,重新做了个新的项目,把整个都复制了过来,这样数据库的内容是定下来了,所以仍然打开页面直接显示dataGridView。不过,下次做别的有关数据库的项目的时候,肯定要用加载的。2)数据库里内容的修改 数据库里的内容有插入,删除,修改,完成控件功能后,例如,插入,运行插入以后,看了数据库里的内容,完成了插入功能,可是,Form中dataGridView没有显示。原来,控件中的功能是与数据库相连,不过,数据库到Form的显示有个时差,所以,我又加了个控件,每次修改数据库内容后,都更新一下,那么dataGridView中显示的就是修改后的内容了。3)排序问题 本来消费的表,是这样建立的,每个月都有,第一周、第二周、第三周、第四周、月总消费额这几项。然后,就想按照最后一行的月总消费额排序。可是,我们教过的排序就是按照竖列排列。后来想了好久,都找不出答案。最后,我索性把消费的表弄成了两张,一张是显示每月的消费额,另一张就是单独的月总消费额,那么就轻松地解决了排序问题。6.总结经过三年的学习,我们对数据库、C#等相关知识有了一定的了解。又经过了几次的实训,我们对理论知识运用到实际练习中又有了一定的基础。本次实训,我做的是药店管理系统,主要练习内容就是数据库和C#能够联

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论