数据库系统原理医药管理系统课程设计报告.doc_第1页
数据库系统原理医药管理系统课程设计报告.doc_第2页
数据库系统原理医药管理系统课程设计报告.doc_第3页
数据库系统原理医药管理系统课程设计报告.doc_第4页
数据库系统原理医药管理系统课程设计报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统原理课程设计报告课程设计题目:医药管理信息系统班级:10级计算机科学与技术(1)班 姓名:大 大 锅 饭 学号: 任课教师: 开始时间:2012年05月02日结束时间:2012年06月10日17目录第一章 概述21.1 项目背景21.2 编写目的21.3 软件定义21.4 开发环境及相关要求2第二章 需求分析22.1 信息要求22.2 处理要求22.3 安全性与完整性要求4第三章 概念结构设计4第四章 逻辑结构设计5第五章 主要模块的设计以及代码65.1 设计思路65.2 主要代码65.2.1查询模块主要代码65.2.2 删除模块主要代码75.2.3 修改模块主要代码95.2.4 浏览模块主要代码95.2.5 打印主要代码105.2.6 添加模块主要代码145.3 系统制作简介16第六章 总结166.1开发过程中遇到的问题以及解决方法166.2开发的体会17第七章 参考文献17第一章 概论1.1项目背景设计本系统,模拟医药超市的部分管理功能。药品由专门的采购人员从医药经销商处购进医药超市,并将药品信息记录入库,顾客从超市购买药品需填写相关个人信息,每次售药需登记经办人(医药超市员工,即销售人员)的信息,以及所售药品的信息。1.2编写目的为了增强自身的编程能力,提高对数据库学习的兴趣,理解到要作为程序员应该具备的素质。1.3软件定义本软件仅供学习交流,不做他用,而且由于作者能力有限本管理系统难免有bug,在此特发表声明。1.4开发环境Winxp以上操作系统,并且装有SQL server2000或以上的任意版本(装好SP3或SP4补丁),还要装有JDK1.6或JDK1.7,此外要有能够运行java程序的软件(譬如Eclipse、Myeclipse等)。第二章 需求分析2.1信息要求通过本系统用户可以从数据库中获得相关的药品信息和顾客的个人信息以及购买的药品信息,还有药店相关人员的情况。数据库中需要存储顾客信息表,经办人信息表、药品信息表、账户信息表。2.2处理要求此系统功能分为八大功能模块,主要有:“信息查询”功能模块查询顾客信息查询经办人信息 查询药品信息“信息录入”功能模块录入顾客信息录入经办人信息录入药品信息“信息删除”功能模块删除顾客信息删除经办人信息删除药品信息“信息修改”功能模块修改顾客信息修改经办人信息修改药品信息 “信息浏览”功能模块浏览顾客信息浏览经办人信息浏览药品信息“数据报表”功能模块顾客信息报表经办人信息报表药品信息报表用户管理与用户登陆功能模块系统可根据需要添加、删除用户,并可对已有的用户信息进行修改操作;在添加新用户时,可定义其操作权限(查询、更新、浏览、报表等权限);用户密码可进行随时修改;各种不同身份的用户登陆系统后,可享有不同的系统操作权限。系统帮助及使用说明功能模块为用户提供必要的在线帮助功能和简要的操作使用说明。下图为本管理系统的大致功能模块图图2.2-1功能模块图2.3安全性与完整性要求本系统由于是供学习交流用的,所以在数据库的安全性方面做的不是特别严密,对于药品的信息可以公开查询,而系统中的账户的信息则不对外公开。一般的账户时没办法查看其他账户的信息(除管理员外)。这些都是根据不同账户设定的,安全性可以跟据情况作恰当的改动。至于完整性也是一样,可以根据实际情况修改数据库的完整性约束条件,以此来满足用户的要求。第三章 概念结构设计下图为根据本系统而做的基本E-R图图3.1基本E-R图第四章 逻辑结构设计把E-R图转为关系表如下:顾客(顾客号,顾客名,顾客性别,顾客年龄,顾客住址,顾客电话,顾客症状,药品号,经办人号,日期,顾客备注)药品(药品号,药品名称,药品服用方法,药品功效)经办人(经办人号,经办人姓名,经办人电话,经办人备注)图4.1 关系图第五章 主要模块的设计以及代码5.1总体模块设计思路实现不同功能用户登录选择用户登陆界面5.2关键代码:5.2.1 查询模块部分主要代码:(1)c=new Choice();String selectname=cno,cname,csex,cage,caddress,cphone,csymptom,mno,ano,cdate,cremark;for(int i=0;iselectname.length;i+)c.add(selectnamei);jl=new JLabel(请选择查询类型:);b1=new JButton(查询);b1.addActionListener(this);/=监听查询按钮 (2)public void actionPerformed(ActionEvent e) if(e.getSource()=b1) String select=new String(c.getSelectedItem().trim();/下拉选择要查询的条件 String input=tf.getText().trim();/从文本框中获取输入的内容 String sql=use market select * from client where +select+=+input+;/写出sql语句 System.out.println(ssfsfsfs=+sql); cm=new ClientModel(sql);/ 执行sql查询,并且更新table,显示结果 table.setModel(cm); 5.2.2删除模块的主要部分代码:if(e.getSource()=b3)/-=- int rownum=this.table.getSelectedRow(); if(rownum=-1) JOptionPane.showMessageDialog(this, 请选一行); return ; / System.out.println(西欧 +rownum); num=(String)cm.getValueAt(rownum, 0);/-获取当前行的cno-/ System.out.println(num); try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433; databaseName=market,sa,1234); String sql=use market delete from client where cno=+num+; stmt=con.createStatement(); stmt.executeUpdate(sql); catch (ClassNotFoundException e1) e1.printStackTrace();JOptionPane.showMessageDialog(null, 驱动未找到!);catch (SQLException e1) e1.printStackTrace();JOptionPane.showMessageDialog(null, 应用软件错误); finallytry if (rs != null) rs.close(); / 关闭命令对象连接rs = null;if (stmt != null) stmt.close();stmt = null;if (con != null) con.close(); / 关闭数据库连接con = null; catch (SQLException e1) e1.printStackTrace(); cm=new ClientModel(); table.setModel(cm); 5.2.3修改模块的主要代码:try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433; databaseName=market,sa,1234);stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = stmt.executeQuery(sql);while (rs.next() Vector temp = new Vector();temp.add(rs.getString(1);temp.add(rs.getString(2);temp.add(rs.getString(3);temp.add(String.valueOf(rs.getInt(4);temp.add(rs.getString(5);temp.add(rs.getString(6);temp.add(rs.getString(7);temp.add(rs.getString(8);temp.add(rs.getString(9);temp.add(String.valueOf(rs.getDate(10);temp.add(rs.getString(11);a.add(temp);5.2.4浏览模块主要代码:try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433; databaseName=market,sa,1234); String sql=use market delete from client where cno=+num+; stmt=con.createStatement(); stmt.executeUpdate(sql); catch (ClassNotFoundException e1) e1.printStackTrace();JOptionPane.showMessageDialog(null, 驱动未找到!);catch (SQLException e1) e1.printStackTrace();JOptionPane.showMessageDialog(null, SQL语句执行错误);5.2.5打印报表:public class FileChose extends JFrame te JFileChooser chooser = null;private FileNameExtensionFilter filter = null;int returnVal;String NameA = 编号 ,姓名 ,性别 ,电话 ,备注 ;String NameM = 编号 ,名称 ,服用方法 ,功效 ;String NameC = 编号 ,姓名 ,性别 ,年龄 ,住址 ,电话 ,症状 ,已购药品 ,经办人 , 录入时期 , 备注 ;/*ClientOne client;AttnOne agency;MedicineOne medi;*/ClientModel cclient = new ClientModel();AgencyModel aagency = new AgencyModel();MedicineModel mmedi = new MedicineModel();public FileChose(int select) /*throws MalformedURLException*/System.out.println(123);try/UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName();/Font font = new Font(Courier,Font.BOLD,20);catch(Exception e)e.printStackTrace();FileNameExtensionFilter filter = new FileNameExtensionFilter( xls文件, xls);chooser = new JFileChooser();chooser.setFileFilter(filter);chooser.setSelectedFile(new File(123.xls);int returnVal = chooser.showSaveDialog(this);if(returnVal = JFileChooser.APPROVE_OPTION)String path = chooser.getCurrentDirectory().getPath()+chooser.getSelectedFile().getName();File dataFile = new File(path);tryint length = 0 ;PrintWriter pw = new PrintWriter(dataFile);if(select = 1)for(int i = 0 ; i 11 ; i+)pw.write(NameCi);pw.write(t);length = cclient.getRowCount();pw.write(n);for(int i = 0 ; i length ; i+)for(int j = 0 ; j 11 ; j+)pw.write(cclient.getValueAt(i, j).toString();pw.write(t);pw.write(n);if(select = 2)for(int i = 0 ; i 5 ; i+)pw.write(NameAi);pw.write(t);length = aagency.getRowCount();pw.write(n);for(int i = 0 ; i length ; i+)for(int j = 0 ; j 5 ; j+)pw.write(aagency.getValueAt(i, j).toString();pw.write(t);pw.write(n);if(select = 3)for(int i = 0 ; i 4 ; i+)pw.write(NameMi);pw.write(t);length = mmedi.getRowCount();pw.write(n);for(int i = 0 ; i length ; i+)for(int j = 0 ; j 6)e1.printStackTrace();JOptionPane.showMessageDialog(frame,注意没有这个经办人);if(Integer.parseInt(c8)18)e1.printStackTrace();JOptionPane.showMessageDialog(null, 抱歉,没有这药品); catch (Class

温馨提示

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

评论

0/150

提交评论