📄 returnbook.java
字号:
{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 + -