}
vtemp.add(v);//将各条记录添加到临时数组vtemp }
db.dbClose(); }
catch(Exception ea){ea.printStackTrace();} jt.clearSelection();
dtm.setDataVector(vtemp,head);//更新table jt.updateUI(); jt.repaint(); }
public int checkTime(int sno,int bno)
{//-1代表超期没交罚款 0代表当天借的书 1代表正常还的书 -2表示超期交罚款 int day=0; int flag=0;
String bname=\
Date now=new Date(); String returntime=\
sql=\BookNO=\
db=new DataBase(); db.selectDb(sql); try{
if(db.rs.next()){
returntime=db.rs.getString(1);//获取归还时间 } }
catch(Exception e){e.printStackTrace();}
String[] strday=returntime.split(\这里使用了简单的正则式,规定了时间的格式
int ryear=Integer.parseInt(strday[0].trim()); int rmonth=Integer.parseInt(strday[1].trim()); int rday=Integer.parseInt(strday[2].trim());
day=(now.getYear()+1900-ryear)*365+(now.getMonth()+1-rmonth)*30+(now.getDate()-rday); if(day==-30)
{//表示当天借的书
JOptionPane.showMessageDialog(this,\今天借的书不能还!!!\\消息\flag=0; }
else if(day>0) {//代表超期了
int i=JOptionPane.showConfirmDialog(this,\该书已过期,应交罚款为\+day*0.1+\元,是否缴纳罚款?\消息\if(i==JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(this,\你已成功交费\元\\消息\flag=-2; } else
{//超期且没交费 flag=-1;
sql=\db.selectDb(sql); try{
if(db.rs.next()){bname=db.rs.getString(1).trim();} }
catch(Exception e){e.printStackTrace();}
sql=\values(\db.updateDb(sql); } } else
{//表示可以正常归还的书 flag=1; }
db.dbClose(); return flag; }
public static void main(String[] args) {
new ReturnBook(); } }
6,图书超期处理模块:
代码如下:
int day=0;//初始化天数变量 DataBase db=new DataBase();
String sno=(String)jtf.getText().trim();//定义文本框内容变量 if(sno.equals(\如果输入学号为空进行提示
JOptionPane.showMessageDialog(this,\学号不能为空!!!\\信息\return; }
if(sno.matches(\定义学号格式为数字组合
JOptionPane.showMessageDialog(this,\学号只能为数字!!!\\信息\return; }
String sql=\+Integer.parseInt(sno);
db.selectDb(sql);//查询图书超期天数 try{//对结果集进行异常处理 int flag=0;
while(db.rs.next()){//得到所借书的超期天数 flag++;
day+=db.rs.getInt(1); }
if(flag==0){//结果集为空给出提示
JOptionPane.showMessageDialog(this,\您所借的书没有超期,不需要还款!!\
\信息\return; } }
catch(Exception ex){ex.printStackTrace();} if(e.getSource()==jb1){//事件源为\查询欠款\按钮 if(day>0){//提示欠款数
JOptionPane.showMessageDialog(this,\您欠费\元!\\信息\return; }
else{//如果没有欠款,提示
JOptionPane.showMessageDialog(this,\您所借的书没有超期,不需要还款!!\
\信息\return; } }
else if(e.getSource()==jb){//事件源为\交费\按钮
if(jtf1.getText().trim().equals(\缴费金额为空的提示 JOptionPane.showMessageDialog(this,\请输入缴款金额!!\\消息\return; }
int k=JOptionPane.showConfirmDialog(this,\是否缴费?\\消息\
if(k==JOptionPane.YES_OPTION){//选择对话框,当选择\是\时,将提示操作步骤
int ii=Integer.parseInt(jtf1.getText().trim()); if(ii<(day*0.1)){
sql=\stuNO=\db=new DataBase();
int i=db.updateDb(sql);//更新表 if(i==1){//输出还应该缴费数的提示
JOptionPane.showMessageDialog(this,\你已成功交费\元,您还需缴纳\元\
\消息\return; }
else{//选择\否\,提示缴费失败
JOptionPane.showMessageDialog(this,\对不起,缴费失败!!!\\消息\return; } }
else{//提示缴费成功
JOptionPane.showMessageDialog(this,\你已成功交费\元\\消息\jtf.setText(\
sql=\from EXCEEDTIME where StuNO=\db.updateDb(sql);//缴纳了所有欠款,更新EXCEEDTIME表信息 sql=\是' where StuNO=\
db.updateDb(sql);//更新student表的借书权限
} } }
db.dbClose();//关闭数据库连接 } }
7,学生用户管理模块:
代码:
package wyf.hxl;
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 Student extends JPanel implements ActionListener { //创建一个上下方向分割的JSplitPane对象 private JSplitPane jsp=new
JSplitPane(JSplitPane.VERTICAL_SPLIT); private JPanel jpt=new JPanel();
String[]str1=new String[7];//声明字符串数组 String sql; DataBase db;
private JLabel[] jlArray=new JLabel[]{//声明标签数组 new JLabel(\学 号\new JLabel(\姓 名\new JLabel(\性 别\new JLabel(\班 级\new JLabel(\院 系\new JLabel(\密 码\new JLabel(\借书权限\};
private JTextField[] jtxtArray=new JTextField[]{//声明文本框数组