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

下载本文档

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

文档简介

《数据库系统原理》课程设计报告课程设计题目:医药管理信息系统班级:10级计算机科学与技术(1)班姓名:大大锅饭学号:任课教师:开始时间:2012年05月02日结束时间:2012年06月10日目录27231第一章概述 2154141.1项目背景 237221.2编写目的 2209161.3软件定义 2257801.4开发环境及相关要求 213674第二章需求分析 221982.1信息要求 2224882.2处理要求 214602.3安全性与完整性要求 41899第三章概念结构设计 420375第四章逻辑结构设计 529763第五章主要模块的设计以及代码 6198665.1设计思路 64224主要代码 614340.1查询模块主要代码 618752.2删除模块主要代码 717709.3修改模块主要代码 922649.4浏览模块主要代码 917543.5打印主要代码 1017543添加模块主要代码 144224系统制作简介 161899第六章总结 1619866开发过程中遇到的问题以及解决方法 1619866 171899第七章参考文献 17概论设计本系统,模拟医药超市的部分管理功能。药品由专门的采购人员从医药经销商处购进医药超市,并将药品信息记录入库,顾客从超市购买药品需填写相关个人信息,每次售药需登记经办人(医药超市员工,即销售人员)的信息,以及所售药品的信息。为了增强自身的编程能力,提高对数据库学习的兴趣,理解到要作为程序员应该具备的素质。软件定义本软件仅供学习交流,不做他用,而且由于作者能力有限本管理系统难免有bug,在此特发表声明。1.4开发环境Winxp以上操作系统,并且装有SQLserver2000或以上的任意版本(装好SP3或SP4补丁),还要装有JDK1.6或JDK1.7,此外要有能够运行java程序的软件(譬如Eclipse、Myeclipse等)。需求分析通过本系统用户可以从数据库中获得相关的药品信息和顾客的个人信息以及购买的药品信息,还有药店相关人员的情况。数据库中需要存储顾客信息表,经办人信息表、药品信息表、账户信息表。此系统功能分为八大功能模块,主要有:=1\*GB2⑴“信息查询”功能模块①查询顾客信息②查询经办人信息③查询药品信息=2\*GB2⑵“信息录入”功能模块①录入顾客信息②录入经办人信息③录入药品信息=3\*GB2⑶“信息删除”功能模块①删除顾客信息②删除经办人信息③删除药品信息⑷“信息修改”功能模块①修改顾客信息②修改经办人信息③修改药品信息⑸“信息浏览”功能模块①浏览顾客信息②浏览经办人信息③浏览药品信息⑹“数据报表”功能模块①顾客信息报表②经办人信息报表③药品信息报表⑺用户管理与用户登陆功能模块系统可根据需要添加、删除用户,并可对已有的用户信息进行修改操作;在添加新用户时,可定义其操作权限(查询、更新、浏览、报表等权限);用户密码可进行随时修改;各种不同身份的用户登陆系统后,可享有不同的系统操作权限。⑻系统帮助及使用说明功能模块为用户提供必要的在线帮助功能和简要的操作使用说明。下图为本管理系统的大致功能模块图本系统由于是供学习交流用的,所以在数据库的安全性方面做的不是特别严密,对于药品的信息可以公开查询,而系统中的账户的信息则不对外公开。一般的账户时没办法查看其他账户的信息(除管理员外)。这些都是根据不同账户设定的,安全性可以跟据情况作恰当的改动。至于完整性也是一样,可以根据实际情况修改数据库的完整性约束条件,以此来满足用户的要求。概念结构设计下图为根据本系统而做的基本E-R图基本E-R图基本E-R图逻辑结构设计把E-R图转为关系表如下:顾客(顾客号,顾客名,顾客性别,顾客年龄,顾客住址,顾客,顾客症状,药品号,经办人号,日期,顾客备注)药品(药品号,药品名称,药品服用方法,药品功效)经办人(经办人号,经办人姓名,经办人,经办人备注)图4.1关系图主要模块的设计以及代码图4.1关系图总体模块设计思路实现不同功能用户登录实现不同功能用户登录选择用户登陆界面选择用户登陆界面关键代码:5.2.1查询模块部分主要代码: (1) c=newChoice(); String[]selectname={"cno","cname","csex","cage","caddress","cphone","csymptom","mno","ano","cdate","cremark"}; for(inti=0;i<selectname.length;i++) c.add(selectname[i]); jl=newJLabel("请选择查询类型:"); b1=newJButton("查询"); b1.addActionListener(this);//=========================================监听查询按钮(2)publicvoidactionPerformed(ActionEvente){ if(e.getSource()==b1){ Stringselect=newString(c.getSelectedItem()).trim();//下拉选择要查询的条件 Stringinput=tf.getText().trim();//从文本框中获取输入的内容 Stringsql="usemarketselect*fromclientwhere"+""+select+""+"="+"'"+input+"'";//写出sql语句 System.out.println("ssfsfsfs=="+sql); cm=newClientModel(sql);//执行sql查询,并且更新table,显示结果 table.setModel(cm); }5.2.2删除模块的主要部分代码:if(e.getSource()==b3){//--------------------=========================--------- intrownum=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"); Stringsql="usemarketdeletefromclientwherecno="+""+num+""; stmt=con.createStatement(); stmt.executeUpdate(sql); }catch(ClassNotFoundExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(null,"驱动未找到!"); } catch(SQLExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(null,"应用软件错误"); }finally{ try{ if(rs!=null){ rs.close();//关闭命令对象连接 rs=null; } if(stmt!=null){ stmt.close(); stmt=null; } if(con!=null){ con.close();//关闭数据库连接 con=null; } }catch(SQLExceptione1){ e1.printStackTrace(); } } cm=newClientModel(); 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<String>temp=newVector<String>(); 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"); Stringsql="usemarketdeletefromclientwherecno="+""+num+""; stmt=con.createStatement(); stmt.executeUpdate(sql); }catch(ClassNotFoundExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(null,"驱动未找到!"); } catch(SQLExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(null,"SQL语句执行错误"); }5.2.5打印报表:publicclassFileChoseextendsJFrame{teJFileChooserchooser=null; privateFileNameExtensionFilterfilter=null; intreturnVal; String[]NameA={"编号","姓名","性别","","备注"}; String[]NameM={"编号","名称","服用方法","功效"}; String[]NameC={"编号","姓名","性别","年龄","住址","","症状","已购药品","经办人","录入时期","备注"}; /*ClientOneclient; AttnOneagency; MedicineOnemedi;*/ ClientModelcclient=newClientModel(); AgencyModelaagency=newAgencyModel(); MedicineModelmmedi=newMedicineModel(); publicFileChose(intselect)/*throwsMalformedURLException*/{ //System.out.println("123"); try{ //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //Fontfont=newFont("Courier",Font.BOLD,20); }catch(Exceptione){ e.printStackTrace(); } FileNameExtensionFilterfilter=newFileNameExtensionFilter( "xls文件","xls"); chooser=newJFileChooser(); chooser.setFileFilter(filter); chooser.setSelectedFile(newFile("123.xls")); intreturnVal=chooser.showSaveDialog(this); if(returnVal==JFileChooser.APPROVE_OPTION){ Stringpath=chooser.getCurrentDirectory().getPath()+chooser.getSelectedFile().getName(); FiledataFile=newFile(path); try{ intlength=0; PrintWriterpw=newPrintWriter(dataFile); if(select==1){ for(inti=0;i<11;i++){ pw.write(NameC[i]); pw.write("\t"); } length=cclient.getRowCount(); pw.write("\n"); for(inti=0;i<length;i++){ for(intj=0;j<11;j++){ pw.write(cclient.getValueAt(i,j).toString()); pw.write("\t"); } pw.write("\n"); } } if(select==2){ for(inti=0;i<5;i++){ pw.write(NameA[i]); pw.write("\t"); } length=aagency.getRowCount(); pw.write("\n"); for(inti=0;i<length;i++){ for(intj=0;j<5;j++){ pw.write(aagency.getValueAt(i,j).toString()); pw.write("\t"); } pw.write("\n"); } } if(select==3){ for(inti=0;i<4;i++){ pw.write(NameM[i]); pw.write("\t"); } length=mmedi.getRowCount(); pw.write("\n"); for(inti=0;i<length;i++){ for(intj=0;j<4;j++){ pw.write(mmedi.getValueAt(i,j).toString()); pw.write("\t"); } pw.write("\n"); } pw.close(); }catch(FileNotFoundExceptione){ e.printStackTrace(); } }5.2.6添加模块主要代码:publicvoidactionPerformed(ActionEvente){ if(e.getSource()==b1){ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); aConnection=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=market","sa","1234"); // pas=aConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Stringc1=t1.getText(); Stringc2=t2.getText(); Stringc3=ch.getSelectedItem().trim(); intc4=Integer.parseInt(t4.getText().trim()); Stringc5=t5.getText(); Stringc6=t6.getText(); Stringc7=t7.getText(); c8=t8.getText(); c9=t9.getText(); Stringc10=t0.getText(); Stringc11=t11.getText(); Stringsql="usemarketinsertintoclientvalues("+"'"+c1+"'"+","+"'"+c2+"'"+","+"'"+c3+"'"+","+"'"+c4+"'"+","+"'"+c5+"'"+","+"'"+c6+"'"+","+"'"+c7+"'"+","+"'"+c8+"'"+","+"'"+c9+"'"+","+"'"+c10+"'"+","+"'"+c11+"'"+")"; pas=aConnection.prepareStatement(sql); pas.executeUpdate(); frame.dispose();//================================关闭添加窗口 newClienttable2(); } catch(SQLExceptione1){ if(Integer.parseInt(c9)>6){ e1.printStackTrace(); JOptionPane.showMessageDialog(frame,"注意没有这个经办人"); } if(Integer.parseInt(c8)>18){ e1.printStackTrace(); JOptionPane.showMessa

温馨提示

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

评论

0/150

提交评论