资源描述
黔南民族师范学院图书馆管理系统 课题组成员姓名学号崔建虎1108045102冯灵兵1108045138课程名称:信息系统开发指导教师:郭勇班 级:B11计信班专 业:信息管理与信息系统学 期:2013-2014二O 一四年六月九日1概述1.1课题背景(课题背景及现行系统存在的问题)1.2目的与意义1.3课题目标1.4可行性分析1.5进度计划1.6分工介绍(2人以上课题)2 系统分析2.1系统调查(调查途径、方法、手段)2.2组织结构与职责(大系统)2.3专业术语(行业专业术语)2.4业务与数据类分析(列举出业务与数据类,主要对象的E-R图,大课题需有U C矩阵图)2.5系统总体结构(画出系统总体结构图)3 系统设计3.1技术方案介绍3.1.1开发技术平台及要求(技术特点、实际运行客户端及服务器端软硬件及网络要求等)3.1.2开发软件(主要与辅助软件、第三方组件、插件、控件等)3.1.3数据库系统简介3.2系统开发规范(系统文件目录结构、源程序、数据库的命名统一规范)3.3业务流程设计(画出重要的业务流程图,至少一个)3.4功能设计(按子系统或模块划分的功能图表)3.5数据库设计(应有相应的设计表结构与关系图表)3.6安全设计(针对系统安全性方面的措施及技术)3.7代码设计(系统中主要的对象代码规范)3.8 I/O设计(特殊的I/O设计说明)3.8.1输入设计:输入校验说明、特殊的输入手段与方法说明3.8.2输出设计:输出方式、格式、报表及图表说明3.9界面设计(总体要求与特色)3.10特殊模块设计(如果有,比如一些公共类的设计说明)4 系统实现分小标题罗列出主要模块功能界面及关键源程序、原型截图5 系统测试(包括测试环境、测试用例、测试结果)5.1单元测试(对个别特殊功能进行的测试)5.2集成测试(含分离客户端与服务器机器的应用环境模拟测试)5.3并发测试(客户/服务器模式的需进行)5.4平台测试(实际应用中的不同版本操作系统与浏览器兼容性测试)6 系统评价6.1总体评价6.2存在的问题7 总结7.1收获7.2改进的方法或思路黔南民族师范学院图书馆管理系统设计报告1概述1.1课题背景(课题背景及现行系统存在的问题)图书馆管理系统的主要工作是对图书馆的借书、还书和更新图书以信息化的方式进行管理,最大限度的 减少各个环节中可能出现的错误,有效减少因漏记、错记导致的信息错误,降低人员的工作量,及时掌 握图书信息,提高对图书管理的灵活性,使图书馆能够合理控制借书,新书入库的每个关键步骤,提高 图书馆的管理运行。1.2目的与意义提高工作效率,降低图书管理员的工作量。使图书管理员实时掌握图书的去向,图书馆图书保有量。1.3课题目标尽可能的开发出一个图书管理系统,对图书馆的图书进行实时去向确定,图书剩余量确定。 系统要求如下:(1)界面设计美观大方,操作方便、快捷、灵活。(2)实现强大的借阅、库存管理,包括图书信息、入库时间,借阅次数,本次借阅人。(3)能够在不同的操作系统下运行,不局限于特定的平台。(4)提供数据库备份和恢复功能。提供技术支持的联系方式,可以使用邮件进行沟通,或者直接联系到技术网站。1.4可行性分析黔南民族师范学院图书馆是一个中型的综合性图书馆,为了更好的管理图书借阅,使图书能为更多的人 所使用,特此开发一图书管理系统。可行性研究的前提:附加引进新书、图书受损等功能以增加管理的灵活性。系统的功能要符合本图书馆的实际情况。管理内容比较多,涉及窗口容易混乱,应提供窗口集合操作和菜单管理。 支持数据库备份和恢复功能,提高系统安全性。总结:如若交给软件公司进行开发,则属于一个小的系统,很容易完成。但成本相对有点高。1.5进度计划支出:根据预算,此系统大概需要6个人,为此需要支付9万元的工资及各种福利待遇,项目的安装、调试以 及用户培训、员工出差费用支出需要2.5万元;在项目后期维护阶段预计需要投入2万元的资金,累计 项目投入需要13.5万元。需要3个月才能开发使用,除去系统分析,测试,确认等,程序开发需要80天的时间进行系统设计、 程序编码、系统测试、程序调试和系统打包部署工作。1.6分工介绍(2人以上课题)崔建虎进行系统的分析、系统设计、界面的分析部署等。冯灵兵进行程序编码、系统测试调试等。2系统分析2.1系统调查(调查途径、方法、手段)直接参加图书馆管理业务的实践,阅读和分析现有系统的资料,发现现存系统存在的不足。2.2组织结构与职责(大系统)由于图书馆管理系统规模比较小,专业性较强,偏向于技术性,而且小组成员不多,所以最终选择 职能型组织结构。2.3专业术语(行业专业术语)OAs:办公自动化系统TPS:事物处理系统MIS:管理信息系统2.4业务与数据类分析(列举出业务与数据类,主要对象的E-R图,大课题需有U C矩阵图) 通过对学校的图书馆借书、还书的调查,弄清了借书还书的业务流程图,如下图所示:通过对业务流程图的细化,可得到系统的分层数据流图。系统U/C矩阵分析过程/数据矩阵(U/C矩阵)U/C矩阵是用来表达过程与数据两者之间的关系。矩阵中的行表示数据类,列表示过程,并以字母U(Use) 和C(Create)来表示过程对数据类的使用和产生。U/C矩阵是MIS开发中用于系统分析阶段的一个重要工具。提出了一种用关系数据库实现U/C矩阵的方法,并对其存储、正确性检验、表上作业等做了分析。职二成本订货设备读者言息书信息 供应商 财务 计划 类_ 据、 数、 一匕匕心冃、功管理计划采购计划CUU财务规划UCU采购UCU图书编目C业务管理读者注壬C上架管理UU借书管理UU!.5系统总体结构(画出系统总体结构图)UUU1借书取消星倍息増加书搭3系统设计3.1技术方案介绍3.1.1开发技术平台及要求(技术特点、实际运行客户端及服务器端软硬件及网络要求等) 利用Java技术进行开发,能够在Windows系统运行就行。3.1.2开发软件(主要与辅助软件、第三方组件、插件、控件等)基础类的:JDK、JRE中间件:WEBSPHERE、WEBLOGIC、JBOSS、TOMCAT、RESIN 等开发工具:ECLIPSE、JBUILDER、NETBEANS、RATIONAL 等此外还有很多其它工具:如IBM WID(SOA开发)、Business Moduler数据库:SQL server 20053.2数据库系统简介SQL Server 2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管 理。SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以 构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005数据引擎是本企业数据管理解决方案的核心。此外SQL Server 2005结合了分析、报表、 集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、 Dashboard、Web services和移动设备将数据应用推向业务的各个领域。3.3业务流程设计(画出重要的业务流程图,至少一个)3.4功能设计(按子系统或模块划分的功能图表)用例分析图书理架员设设置遇读读型案a书书案a理増加用户登陆注销还书续惜采蜒管理员3.5数据库设计(应有相应的设计表结构与关-依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻 辑设计,考虑程序设计的简易性,本系统决定采用一个数据库,在其下创建7个数据表,其结构分别如 下:1图书信息表BookNOBookT-lameAuthorPublishmentE utTimeBorrowedOrdered10001化学冯倒萨中国人民大学2011.5.610002语文阅读王倒萨中国人民大学2011.5.610003物涼管理冯倒萨中国人民大学2011.5.610004体育体育出版社2003.1.1210005英语大全jeans外文出版社2003.1.1210006计算机网络谢希任高埶出版社2003.11.0 斗10007考验英语李阳文化出版社2003.3.1210008数値分析王文超实践出版社2008.1.1510010思想理论吴慢同济大学出版社2003.1.1210011数据结枸王蔑水利出版社2003.1.1210012计算机组成匣理张吉安同济大学出版社2009.1.262图书丢失登记表,其字段列表如表所示。LBNOStuNOBookNOBookName01000110003大学英语21000410005英语犬全31000210002數据库项目案例41000710006计算机屈络51000810007考验英语61000S10001orade快速入.门71000510004体育米3.图书归还登记表,其字段列表如表所示BookNOStuNOBorrowTimeReturnTimeBorrowedOrdered3 100022014.2.12014.2.280010002100032014.2.32014.2.170010003100032014.2.12014.2.250010004100052014.3.12014.3.1210010005100082014.4.42014.4.100010006100072014.4.12014.4.190010008100052014.4.12014.4.1004学生信息表(tVip),其字段列表如表所示StuNOStuNameStuAgeStuSexClassDepartmentTelPermittedPasswordBiliCTI陈小诗20女计算机1班计算机系2592921是number!10002李飞21女计算机1班计算机系13730120123是number210003孙亚20再计算机1班计算机系13633654578是numbers何二22卑计算机1班计算机系2568975是number410005唐雨21女计算机1班计算机系13936968956是numbers10006宋江20计算机珈计算机系18722882245是numbers10007石宏20卑计算机珈计算机系13722S82287是number710008张翰20再计算机珈计算机系13245678974是numbers10009贺红21女美柯班美朮系13722882907是number910010张倩20女美枸班美术系13722882457是number 1010011冯杲理20女美柯班美术系1B722783456是number 115管理员信息表mgNopermittedpassword1100110021100210031100310041IDEM10051迦斗1006110066图书超期日寸间登记表StuNOBookNOBookNameDelayTime10001orade快速入门501000210002数据库项目案例501000310001oradeft 速 A.门501000410002數据库项目案例501000510003犬学英语101000710010思想理论201000810008數值分析Mi.7图书预约表BookNOStuNameChssBookNameStuNOAuthor张倩计算机1犬学英语1003王而定10002萤河计算机1数据库撫论1002周新华10004李飞计算机1体育10002弓膜10005宋江计算机2英语犬全10006jeans10006石宏计算机珈数据结枸10007王蔑10007贺红美术1班思想理论10009吴进NULLNULL3.6安全设计(针对系统安全性方面的措施)校园图书管理系统本身没有什么重要信息,存在安全风险较小。这时候我们只需装个安全软件,定期进 行安全扫描即可。图书管理系统的主机应不进行互联网联网。3.7代码设计(系统中主要的对象代码规范)主要有六个类:登录类,图书信息表类,学生信息表类,管理员信息表类,图书归还类,图书借阅 类,数据库类。部分代码分别如下登录类:package xuyaodelei;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import javax.swing.event.*;import java.sql.*;import java.util.*;import java.util.Date;public class Login extends JFrame implements ActionListenerprivate JPanel jp=new JPanel();创建 JPanel 对象private JLabel jlArray=创建标签组new JLabel(用户 IP),new JLabel(端口号),new JLabel(用户名”),new JLabel(密 码),new JLabel();private JButton jbArray=创建按钮数组new JButton(学生登录),new JButton(清空),new JButton(管理员登录);private JTextField jtxtArray= 创建文本框new JTextField(127.0.0.1),new JTextField(3306),new JTextField(1001);private JPasswordField jpassword=new JPasswordField(number1); /创建密码框String sql;public Login()jp.setLayout(null); /设置 JPanel 的布局管理器for(int i=0;i4;i+) /对标签与按钮控件循环处理 jlArrayi.setBounds(30,20+i*50,80,25);设置标签与按钮的大小和位置 jp.add(jlArrayi);将标签和按钮添加进JPanel容器中for(int i=0;i3;i+)设置按钮的大小位置并为其添加事件监听器 jbArrayi.setBounds(10+i*120,230,100,25); jp.add(jbArrayi);jbArrayi.addActionListener(this);for(int i=0;i3;i+)设置文本框的大小位置并为其添加事件监听器 jtxtArrayi.setBounds(80,20+50*i,180,25); jp.add(jtxtArrayi);jtxtArrayi.addActionListener(this);jpassword.setBounds(80,170,180,25);设置密码框的大小位置jp.add(jpassword);/将密码框添加进JPanel容器jpassword.setEchoChar(*);设置密码框的回显字符 jpassword.addActionListener(this);/为密码框注册监听器jIArra y4 .setBounds(10,280,300,25);设置用于显示登录状态的标签的大小位置 jp.add(jlArray4); /将标签添加进 JPanel 容器this.add(jp);Image image=new lmagelcon(ico.gif).getlmage();对 logo 图片进行初始化 this.setlconlmage(image);设置窗体的大小位置及可见性this.setTitle(登录);this.setResizable(false);this.setBounds(100,100,400,350);this.setVisible(true);/实现ActionListener接口中的方法public void actionPerformed(ActionEvent e)/事件源为文本框String mgno=jtxtArray2.getText().trim();String mgIP=jtxtArray0.getText().trim();String port=jtxtArray1.getText().trim();String message=mgIP+:+port;if(e.getSource()=jtxtArray0)jtxtArray1.requestFocus();切换输入焦点到下一个框if(e.getSource()=jtxtArray1)jtxtArray2.requestFocus();切换输入焦点到下一个框if(e.getSource()=jtxtArray2) jpassword.requestFocus();切换输入焦点到密码框else if(e.getSource()=jbArray1)事件源为清空按钮清空所有信息jlArray4.setText();jtxtArray2.setText();jpassword.setText();将输入焦点设置到文本框jtxtArray2.requestFocus();else if(e.getSource()=jbArray2)事件源为管理员登录按钮判断用户名和密码是否匹配if(!mgno.matches(d+)/如果用户名格式输入有误JOptionPane.showMessageDialog(this,用户名格式错误! !,信息, JOptionPane.INFORMATION_MESSAGE);return;if(jtxtArray0.getText().trim().equals()/如果用户IP文本框为空,提示JOptionPane.showMessageDialog(this,用户 IP 不能为空!!,信息,JOptionPane.lNFORMATION_MESSAGE); return;if(jtxtArray1.getText().trim().equals()/如果端口号文本框为空,提示JOptionPane.showMessageDialog(this,用户端口号不能为空!,信息,JOptionPane.INFORMATION_MESSAGE); return;sql=select mgNo,password from manager where mgNo=+Integer.parseInt(mgno); tryString mgNo=;String password;jlArray4.setText(恭喜您,登录成功! !);new Root(mgNo);this.dispose();catch(Exception e1)e1.printStackTrace();else if(e.getSource()=jbArray0)事件源为学生登录按钮if(!jtxtArray2.getText().trim().matches(d+)若学号格式错误,输出提示对话框JOptionPane.showMessageDialog(this,输入有误,学号只能为数字!,消息,JOptionPane.INFORMATION_MESSAGE); return;if(jtxtArray0.getText().trim().equals()/若用户 IP文本框输入为空,提示 JOptionPane.showMessageDialog(this,用户 IP 不能为空! !,信息, JOptionPane.INFORMATION_MESSAGE);return;if(jtxtArray1.getText().trim().equals()若端口号文本框输入为空,提示 JOptionPane.showMessageDialog(this,用户端口号不能为空! !, 信息,JOptionPane.INFORMATION_MESSAGE);return;查询学号文本中所输学号是否存在于STUDENT表中sql=select StuNO,Password from STUDENT where StuNO=+Integer.parseInt(jtxtArray2.getText().trim();tryString mgNo=;String password;jlArray4.setText(恭喜您,登录成功! !);new StudentSystem();this.dispose();catch(Exception e1)e1.printStackTrace();public static void main(Stringargs)new Login();图书信息类:package xuyaodelei;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import java.sql.*;import java.util.*;import java.util.Date;public class BookManage extends JPanel implements ActionListenerprivate JSplitPane jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true); private JPanel jpt=new JPanel();String str1=new String 7;String sql;DataBase db;private JLabel jlArray=new JLabelnew JLabel(书号),new JLabel(书名),new JLabel(作者),new JLabel(出版 社),new JLabel(购买日期),new JLabel(已预约),new JLabel(已借阅);private JTextField jtxtArray=new JTextField new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField();设置JButton按钮的文本private JButton jbArray=new JButton(图书入库),new JButtonC 删除图书”),new JButton(修改图书记录),new JButton(” 查找图书);创建标题Vector head = new Vector();head.add(书号”);head.add(书名”);head.add(作者”);head.add(出版社);head.addC购买日期);head.add(是否借阅);head.add(是否预约);/在下部子窗口中设置表格Vector data=new Vector();创建表格模型DefaultTableModel dtm=new DefaultTableModel(data,head);/创建Jtable对象JTable jt=new JTable(dtm);将JTable封装到滚动窗格JScrollPane jspn=new JScrollPane(jt);创建表示下拉列表框数据模型的字符串数组private String str=否/是;创建下拉列表框private JComboBox jcp1=new JComboBox(str);private JComboBox jcp2=new JComboBox(str);public BookManage()this.setLayout(new GridLayout(1,1);设置面板的上部分为空布局管理器jpt.setLayout(null);设置jspt中分割条的初始位置jsp.setDividerLocation(140);设置分隔条的宽度jsp.setDividerSize(4);jsp.setTopComponent(jpt); jsp.setBottomComponent(jspn);for(int i=0;i5;i+)jpt.add(jtxtArrayi);for(int i=0;i7;i+)jpt.add(jlArrayi);if(i2&i5)jlArrayi.setBounds(265,10+30*(i-3),100,20); jtxtArrayi.setBounds(375,10+30*(i-3),120,20);elsejlArrayi.setBounds(495,10+30*(i-5),100,20);for(int i=0;i5;i+)jtxtArrayi.addActionListener(this);this.add(jsp);jpt.add(jcp1);jpt.add(jcp2);/设置下部子窗格jsp.setBottomComponent(jspn);jcp1.setBounds(595,10,100,20);jcp2.setBounds(595,40,100,20);将JButton添加进jptfor(int i=0;i4;i+)jpt.add(jbArrayi); jbArrayi.setBounds(150+112*i,100,112,25);设置监听器for(int i=0;i4;i+)jbArrayi.addActionListener(this);设置窗体的大小位置及可见性this.setBounds(5,5,600,500);this.setVisible(true);public void actionPerformed(ActionEvent e)设置鼠标焦点if(e.getSource()=jtxtArray0) jtxtArray1.requestFocus();if(e.getSource()=jtxtArray1) jtxtArray2.requestFocus();if(e.getSource()=jtxtArray2) jtxtArray3.requestFocus();if(e.getSource()=jtxtArray3) jtxtArray4.requestFocus();if(e.getSource()=jbArray0)添加图书 this.insertBook();if(e.getSource()=jbArray1)/将书号为书号框的书从书库删除 this.deleteBook();if(e.getSource()=jbArray2)/将书号为书号框的书信息进行修改 this.updateBook();if(e.getSource()=jbArray3)查询图书信息 this.searchBook();public void insertBook()for(int i=0;i5;i+) 声明输入变量 str1i=jtxtArrayi.getText().trim();if(str10.equals()&str11.equals()&str12.equals()&str13.equals()&str14.equals() 当输入为空进行提示 JOptionPane.showMessageDialog(this,图书信息不能为空! ! !, 消息,JOptionPane.lNFORMATION_MESSAGE); return;if(!str10.equals()&!str11.equals()&!str12.equals()&!str13.equals()&!str1 4.equals()/将图书信息插入 Book 表 str15=jcp1.getSelectedltem().toString(); str16=jcp2.getSelectedltem().toString();sql=insert into BOOK values(+str10+,+str11+,+ str12 + , +str1 3+,+str1 4+,+str1 +,+str1 6+);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); ct=DriverManager.getConnection(jdbc:odbc:tushu,sa,700700); ps=ct.prepareStatement(insert into bookvalues(+str10+,+str11+,+ str12 + , +str1 3+,+str1 4+,+str1 5+str1 6+);ps.setString(1,str10);ps.setString(2,str11);ps.setString(3,str12);ps.setString(4,str1 3);ps.setString(5,str14);ps.setString(6,str15);ps.setString(6,str1 6);ps.executeUpdate(); catch (Exception e)finallytry if(rs!=null)rs.close();if(ps!=null)ps.close();if(ct!=null)ct.close(); catch (Exception e)Vector v = new Vector();for(int i=1;i=7;i+)将每列添加到临时数组vv.add(str1i-1);data.add(v);dtm.setDataVector(data,head);/更新 tablejt.updateUI();jt.repaint();return;public void deleteBook()String bookno = jtxtArrayO.getText().trim();if(bookno.equals(,)当书号输入为空,提示JOptionPane.showMessageDialog(this,书号不能为空! ! !,消息,JOptionPane.INFORMATION_MESSAGE);return;sql=select * from RECORD where BookNO=+Integer.parseInt(bookno);db=new DataBasesql=delete from book where BookNO=+Integer.parseInt(bookno);public void updateBook()String bookno = jtxtArrayO.getText().trim();if(bookno.equals()/当书号输入为空时,进行提示JOptionPane.showMessageDialog(this,请输入需要更改信息图书的书号!, 消息,JOptionPane.INFORMATION_MESSAGE); return;else/当输入书号后的情况for(int i=0;i0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 2:sql=update BOOK set Author=+str12+ where BookNO=+b; if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 3:sql=update BOOK set BookName=+str11+,+Author=+str12+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 4:sql=update BOOK set Publishment=+str13+ where BookNO=+b; if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 5:sql=update BOOK set BookName=+str11+,+Publishment=+str13+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 6:sql=update BOOK set Author=+str12+,+Publishment=+str13+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this, 恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 7:sql=update BOOK set BookName=+str11+,+Author=+str12 +,+Publishment=+str13+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 8:sql=update BOOK set BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 9:sql=update BOOK set BookName=+str11+,+BuyTime= +str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!,消息,JOptionPane.lNFORMATION_MESSAGE);break;case 10:sql=update BOOK set Author=+str12+,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 11:sql=update BOOK set BookName=+str11+,+Author=+str12 +,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this,恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 12:sql=update BOOK set Publishment=+str13+,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this, 恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 13:sql=update BOOK set BookName=+str11+,+Publishment=+str13 +,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this, 恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 14:sql=update BOOK set Author=+str11+,+Publishment=+str12 +,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this, 恭喜你,修改成功!, 消息,JOptionPane.lNFORMATION_MESSAGE);break;case 15:sql=update BOOK set BookName=+str11+,+Author=+str1 2+,+ Publishment=+str1 3+,+BuyTime=+str14+ where BookNO=+b;if(flag0)JOptionPane.showMessageDialog(this, 恭喜你,修改成功!,消息,JOptionPane .INF ORMATION_MESSAGE);break;public void searchBook()弹出提示对话框 JOptionPane.showMessageDialog(this,请点击左边窗口的查询图书按钮! !,强烈推荐,JOptionPane.lNFORMATION_MESSAGE); return;学生信息类:
展开阅读全文