图书馆管理系统的分析与维护
大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。
设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。
对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。
在对应的界面与Access数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。
实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。总而言之就是实现对各个信息表的查询。对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、Access数据库表的创建、系统的维护等等,这些都需要设计和实现的。以下附上部分源码:
还书功能实现:
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==tj) { String num=tsid.getText(); int jc; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException c)
{ System.out.println(""+c); } try { String tsz=null; ……//连接数据库 rs=sql.executeQuery("SELECT * FROM person where 图书证号=(SELECT 图书证号 FROM borrowbook where 书号="+"'"+num+"')");
if(rs.next()
{ tsz=rs.getString("图书证号"); }
con.close();
……//连接数据库
rs=sql.executeQuery("SELECT * FROM vbbook where 书号
="+"'"+num+"'");
Date da=new Date(); int y=da.getYear()+1900;
int m=da.getMonth()+1;
int d=da.getDate();
String czrq=String.valueOf(y)+"-"+String.valueOf(m)+"-"+String.valueOf(d); float money; String sm=null; int day=0; if(rs.next()) {
sm=rs.getString("书名");
String yhrq=rs.getString("应还日期");
y=(y-Integer.parseInt(yhrq.substring(0,4)));
int mm=Integer.parseInt(yhrq.substring(5,7)); day=y;
d=Integer.parseInt(yhrq.substring(8,10))-d; if(y!=0)
mm=mm+12; while(m>mm) {
…//计算还书时间 }
day=day+d;
if(day>0)
{ JOptionPane.showMessageDialog(this,"您比应还日期晚了
"+String.valueOf(day)+"天归还,请交付相应滞纳金","延期还书
",JOptionPane.WARNING_MESSAGE);
money=day/10; tsid.setText(null);
}
}
浙公网安备 33010602011771号