⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 returnbook.java

📁 java实现的图书馆管理系统-设计论文
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	 {frame.dispose();}
	}
//单击表格选中您要归还的图书功能代码////////////////////////////////////////////////////////////////////////////
    public void valueChanged(ListSelectionEvent el){
		   	  tempString="";
		       //JTable的getSelectedRows()与getSelectedColumns()方法会返回已选取表格cell的index Array数据.
		   	  int[] rows=jta1.getSelectedRows();
		   	  int[] columns=jta1.getSelectedColumns();

		       //JTable的getValueAt()方法会返回某行的cell数据,返回值是Object数据类型,因此我们要自行转成String数据类型.
		   	    for (int i=0;i<rows.length;i++){
		   	      for (int j=0;j<columns.length;j++)
		                tempString = tempString+(String)jta1.getValueAt(rows[i], columns[j]);
		   	    }

		   	   try{ Update1();}
			        catch(SQLException ed){}
			 tempString1="";
		       //JTable的getSelectedRows()与getSelectedColumns()方法会返回已选取表格cell的index Array数据.
		   	  int[] rows1=jta.getSelectedRows();
		   	  int[] columns1=jta.getSelectedColumns();

		       //JTable的getValueAt()方法会返回某行的cell数据,返回值是Object数据类型,因此我们要自行转成String数据类型.
		   	    for (int a=0;a<rows1.length;a++){
		   	      for (int b=0;b<columns1.length;b++)
		                tempString1= tempString1+(String)jta.getValueAt(rows1[a], columns1[b]);
		   	    }

		   	   try{ Update0();}
			        catch(SQLException ed){}
   }
//////////////////////查询该读者续借图书是否超期和设置超期信息////////////////////////////////////////////////////////
     public void Update0() throws SQLException
   		    {   String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,bz;
   				String strurl=
   								"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
   				  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
   				  catch (ClassNotFoundException eg) {}
   				  con= DriverManager.getConnection(strurl);
   				  stmt= con.createStatement();
   				  ResultSet rs = stmt.executeQuery("select * from 续借统计");
   				  while(rs.next())
   				  { dzxm=rs.getString("读者姓名");dzbh=rs.getString("读者编号");txm=rs.getString("读者条形码");
		   	 		     xb=rs.getString("图书名称");sf=rs.getString("图书编号");yxzj=rs.getString("图书条形码");zjhm=rs.getString("续借数量");
		   	 		     zcrq=String.valueOf(rs.getInt("图书价格"));zxrq=rs.getString("出版社");csrq=rs.getString("存放位置");
		   	 		     lxdh=rs.getString("图书类型");lxdz=rs.getString("上次借阅时间");dzzt=rs.getString("本次续借时间");
		   	 		     zcqx=rs.getString("下次归还时间");czy=rs.getString("操作员");
   				   if(dzbh.equals(tempString1)||txm.equals(tempString1)||sf.equals(tempString1)||yxzj.equals(tempString1))
   				   {code=sf;tiaoma=yxzj;name=xb;jtf16.setText(lxdz);
   				    bookprice=zcrq;bookpress=zxrq;bookstock=csrq;bookfenlei=lxdh;bookdate=zcqx;
   				    lb3.setText("您要归还的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
   				    lb3.setToolTipText("您要归还的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
   				    nowTime=new Date();
   				    matter=new SimpleDateFormat("yyyy-MM-dd");
   				    calendar=Calendar.getInstance();
   				    calendar.setTime(new Date());
   				    int    year=calendar.get(Calendar.YEAR),
   				           month=calendar.get(Calendar.MONTH)+1,
   				           day=calendar.get(Calendar.DAY_OF_MONTH);
   				    String year1=String.valueOf(calendar.get(Calendar.YEAR)),
   				           month1=String.valueOf(calendar.get(Calendar.MONTH)+1),
   				           day1=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
   				    String substr=bookdate.substring(0,4),
   				           substr1=bookdate.substring(5,7),
   				           substr2=bookdate.substring(8,10);
   				    calendar.set(Integer.parseInt(substr),Integer.parseInt(substr1)-1,Integer.parseInt(substr2));
   				    long time1=calendar.getTimeInMillis();
   				    calendar.set(year,month-1,day);
   				    long time2=calendar.getTimeInMillis();
   				    long days=(time2-time1)/(1000*60*60*24);
   				    if(days>Integer.parseInt(rzcqx))
   				    {jrb4.setSelected(true);
   				     try{ Chaoqi();}
	                 catch(SQLException ed){System.err.println(ed);}
	                 try{ Fajin();}
	                 catch(SQLException ed){System.err.println(ed);}
	                 JOptionPane.showMessageDialog(null, "该读者所借此书已超期,请交付罚金并及时归还该书!", "友情提示",
								                            JOptionPane.WARNING_MESSAGE);
					 lb3.setText("该超期图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
                     jtf15.setText(bookdate);jtf16.setText(matter.format(nowTime));
                     jtf17.setText(String.valueOf(days));
                     jtf18.setText(fakuan);
                     float fakuan1=Float.valueOf(fakuan).floatValue();
                     float days1=Float.valueOf(days).floatValue();
                     float fd=days1*fakuan1;
                     jtf19.setText(String.valueOf(fd));
                     btn5.setEnabled(true);
					}
   				    else
   				    {jrb5.setSelected(true);btn6.setEnabled(true);jtf15.setText(bookdate);}
   			        }
   				  }
   				  con.close();
   	}
//////////////////////查询该读者未续借图书是否超期和设置超期信息////////////////////////////////////////////////////////
     public void Update1() throws SQLException
   		    {   String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,bz;
   				String strurl=
   								"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
   				  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
   				  catch (ClassNotFoundException eg) {}
   				  con= DriverManager.getConnection(strurl);
   				  stmt= con.createStatement();
   				  ResultSet rs = stmt.executeQuery("select * from 借书统计");
   				  while(rs.next())
   				  { dzxm=rs.getString("读者姓名");dzbh=rs.getString("读者编号");txm=rs.getString("读者条形码");
	   	 		    xb=rs.getString("图书名称");sf=rs.getString("图书编号");yxzj=rs.getString("图书条形码");zjhm=String.valueOf(rs.getInt("借阅数量"));
	   	 		    zcrq=String.valueOf(rs.getInt("图书价格"));zxrq=rs.getString("出版社");csrq=rs.getString("存放位置");
	   	 		    lxdh=rs.getString("图书类型");lxdz=rs.getString("借书日期");dzzt=rs.getString("应还日期");
	   	 		    zcqx=rs.getString("操作员");jycs=rs.getString("续借");
   				   if(dzbh.equals(tempString)||txm.equals(tempString)||sf.equals(tempString)||yxzj.equals(tempString))
   				   {code=sf;tiaoma=yxzj;name=xb;jtf16.setText(lxdz);
   				    bookprice=zcrq;bookpress=zxrq;bookstock=csrq;bookfenlei=lxdh;bookdate=dzzt;bookstatus=jycs;
   				    lb3.setText("您要归还的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
   				    lb3.setToolTipText("您要归还的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
   				    nowTime=new Date();
   				    matter=new SimpleDateFormat("yyyy-MM-dd");
   				    calendar=Calendar.getInstance();
   				    calendar.setTime(new Date());
   				    int    year=calendar.get(Calendar.YEAR),
   				           month=calendar.get(Calendar.MONTH)+1,
   				           day=calendar.get(Calendar.DAY_OF_MONTH);
   				    String year1=String.valueOf(calendar.get(Calendar.YEAR)),
   				           month1=String.valueOf(calendar.get(Calendar.MONTH)+1),
   				           day1=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
   				    String substr=bookdate.substring(0,4),
   				           substr1=bookdate.substring(5,7),
   				           substr2=bookdate.substring(8,10);
   				    calendar.set(Integer.parseInt(substr),Integer.parseInt(substr1)-1,Integer.parseInt(substr2));
   				    long time1=calendar.getTimeInMillis();
   				    calendar.set(year,month-1,day);
   				    long time2=calendar.getTimeInMillis();
   				    long days=(time2-time1)/(1000*60*60*24);
   				    if(days>Integer.parseInt(rzcqx))
   				    {jrb4.setSelected(true);
   				     try{ Chaoqi();}
	                 catch(SQLException ed){System.err.println(ed);}
	                 try{ Fajin();}
	                 catch(SQLException ed){System.err.println(ed);}
	                 JOptionPane.showMessageDialog(null, "该读者所借此书已超期,请交付罚金并及时归还该书!", "友情提示",
								                            JOptionPane.WARNING_MESSAGE);
					 lb3.setText("该超期图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
                     jtf15.setText(bookdate);jtf16.setText(matter.format(nowTime));
                     jtf17.setText(String.valueOf(days));
                     jtf18.setText(fakuan);
                     float fakuan1=Float.valueOf(fakuan).floatValue();
                     float days1=Float.valueOf(days).floatValue();
                     float fd=days1*fakuan1;
                     jtf19.setText(String.valueOf(fd));
                     btn5.setEnabled(true);
					}
   				    else
   				    {jrb5.setSelected(true);btn6.setEnabled(true);jtf15.setText(bookdate);}
   			        }
   				  }
   				  con.close();
   	}
 //查询每日罚款金额代码///////////////////////////////////////////////////////////////////////////////////////////
     public void Fajin() throws SQLException
	 		{ String bianhao="1";
	 		  String mrfj,autoview,bh;
	 		  String strurl=
	 		  				"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
	 		  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
	 		  catch (ClassNotFoundException eg) {}
	 		  con= DriverManager.getConnection(strurl);
	 		  stmt= con.createStatement();
	 		  ResultSet rs = stmt.executeQuery("select * from 罚金设置 where 编号='"+bianhao+"'");
	 		  while(rs.next())
	 		  { mrfj=rs.getString("每日罚金");autoview=rs.getString("是否自动显示");bh=rs.getString("编号");
                fakuan=mrfj;
		      }
	   }
//交付罚金按钮实现代码///////////////////////////////////////////////////////////////////////////////////////////
     public void Jiaofu() throws SQLException
	 		{ String frbh,frtxm,frname,fbbh,fbtxm,fbname,fchao,fdays,fday,ftotal,fdate,fzcy;
	 		  String chao="是";
	 		  String strurl=
	 		  				"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
	 		  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
	 		  catch (ClassNotFoundException eg) {}
	 		  con= DriverManager.getConnection(strurl);
	 		  stmt= con.createStatement();
	 		  if(jtf21.getText().trim().equals(""))
			  {JOptionPane.showMessageDialog(null, "操作人员不能为空,请填写完整后再交付罚款金额!", "友情提示",
			  								                            JOptionPane.WARNING_MESSAGE);
			  }
			  else
			 { ResultSet rs = stmt.executeQuery("select * from 罚款统计");
	 		   while(rs.next())
	 		  { frbh=rs.getString("读者编号");frtxm=rs.getString("读者条形码");frname=rs.getString("读者姓名");
	 		    fbbh=rs.getString("图书编号");fbtxm=rs.getString("图书条形码");fbname=rs.getString("图书名称");
	 		    fchao=rs.getString("是否超期");fdays=rs.getString("超期天数");fday=rs.getString("每日罚金");ftotal=rs.getString("罚款总额");
	 		    fdate=rs.getString("罚款日期");fzcy=rs.getString("操作员");
	 		    if(fbbh.equals(code))
	 		    {JOptionPane.showMessageDialog(null, "该图书已交过超期罚款,请尽快归还!", "友情提示",
			  								                            JOptionPane.WARNING_MESSAGE);
			  	 btn5.setEnabled(false);btn6.setEnabled(true);
			  	}
	 		    else
	 		    {stmt.executeUpdate("INSERT INTO 罚款统计(读者编号,读者条形码,读者姓名,图书编号,图书条形码,图书名称,是否超期,超期天数,每日罚金,罚款总额,罚款日期,操作员) values ('"+jtf5.getText().trim()+"','"+jtf6.getText().trim()+"','"+jtf2.getText().trim()+"','"+code+"','"+tiaoma+"','"+name+"','"+chao+"','"+jtf17.getText().trim()+"','"+jtf18.getText().trim()+"','"+jtf19.getText().trim()+"','"+jtf16.getText().trim()+"','"+jtf21.getText().trim()+"')");
				 JOptionPane.showMessageDialog(null, "超期罚款已交付,您可以归还此书!", "友情提示",
								                            JOptionPane.WARNING_MESSAGE);
				 btn6.setEnabled(true);btn5.setEnabled(false);
				 try{ zheng();}
	             catch(SQLException ed){System.err.println(ed);}
                }
			   }
		      con.close();
		     }
	   }
//设置读者的已借数量///////////////////////////////////////////////////////////////////////////////////////////
     public void Borrowed() throws SQLException
	 		{ String chaoqi="借书超期";
	 		  int i=0;
	 		  String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,bz,borrowed;
	 		  String strurl=
	 		  				"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
	 		  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
	 		  catch (ClassNotFoundException eg) {}
	 		  con= DriverManager.getConnection(strurl);
	 		  stmt= con.createStatement();
	 		  ResultSet rs = stmt.executeQuery("select * from 读者资料");
	 		  while(rs.next())
	 		  { dzxm=rs.getString("读者姓名");dzbh=rs.getString("读者编号");txm=rs.getString("条形码");
	 		    xb=rs.getString("性别");sf=rs.getString("身份");yxzj=rs.getString("有效证件");zjhm=rs.getString("证件号码");
	 		    zcrq=rs.getString("注册日期");zxrq=rs.getString("截止日期");csrq=rs.getString("出生日期");
	 		    lxdh=rs.getString("联系电话");lxdz=rs.getString("联系地址");dzzt=rs.getString("读者状态");
	 		    kjsl=String.valueOf(rs.getInt("可借数量"));zcqx=String.valueOf(rs.getInt("最长期限"));
	 		    jycs=String.valueOf(rs.getInt("借阅次数"));czy=rs.getString("操作员");bz=rs.getString("备注");
	 		    borrowed=rs.getString("已借数量");i=Integer.parseInt(borrowed)-1;
                stmt.executeUpdate("update 读者资料 set 已借数量='"+i+"'where 读者编号='"+jtf5.getText().trim()+"'");
		      }
		   con.close();
	   }
 //设置读者状态为超期///////////////////////////////////////////////////////////////////////////////////////////
     public void Chaoqi() throws SQLException
	 		{ String chaoqi="借书超期";
	 		  String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,bz;
	 		  String strurl=
	 		  				"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
	 		  try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
	 		  catch (ClassNotFoundException eg) {}
	 		  con= DriverManager.getConnection(strurl);
	 		  stmt= con.createStatement();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -