You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.3 KiB
135 lines
3.3 KiB
package database;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.Date;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
import java.util.Arrays;
|
|
import java.util.Vector;
|
|
|
|
import javax.swing.JOptionPane;
|
|
|
|
|
|
public class BorrowRecords {
|
|
public BorrowRecords() {
|
|
}
|
|
//½èÔÄͼÊé
|
|
public static void Borrow(String user, int bookid, String bookname) {
|
|
Connection con = ConnectDatabase.connectDB();
|
|
|
|
PreparedStatement preSql;
|
|
|
|
String sqlStr = "insert into borrowrecords(user,bookid,bookname,borrowtime,returntime,status) values (?,?,?,now(),null,?)";
|
|
|
|
try {
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setString(1, user);
|
|
preSql.setInt(2, bookid);
|
|
preSql.setString(3, bookname);
|
|
preSql.setString(4, "δ»¹");
|
|
int ok = preSql.executeUpdate();
|
|
con.close();
|
|
ChangeBorrowState(bookid);
|
|
} catch (SQLException e) {
|
|
}
|
|
}
|
|
//½èÔÄͼÊéÐÞ¸ÄͼÊé״̬
|
|
private static void ChangeBorrowState(int bookid) {
|
|
Connection con = ConnectDatabase.connectDB();
|
|
|
|
PreparedStatement preSql;
|
|
|
|
String sqlStr = "update booktable set state=? where bookid = ?";
|
|
|
|
try {
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setString(1, "Íâ½è");
|
|
preSql.setInt(2, bookid);
|
|
|
|
int ok = preSql.executeUpdate();
|
|
con.close();
|
|
} catch (SQLException e) {
|
|
}
|
|
}
|
|
|
|
//»¹Êé
|
|
public static void Return(String user, int bookid) {
|
|
Connection con = ConnectDatabase.connectDB();
|
|
|
|
PreparedStatement preSql;
|
|
String sqlStr = "select now()";
|
|
ResultSet rs;
|
|
Date date=null;
|
|
try {
|
|
preSql = con.prepareStatement(sqlStr);
|
|
rs = preSql.executeQuery();
|
|
while(rs.next()) {
|
|
date = rs.getDate(1);
|
|
}
|
|
sqlStr = "update borrowrecords set returntime = ? where bookid = ? and user = ? and status = ?";
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setDate(1, date);
|
|
preSql.setInt(2, bookid);
|
|
preSql.setString(3, user);
|
|
preSql.setString(4, "δ»¹");
|
|
int ok = preSql.executeUpdate();
|
|
|
|
sqlStr = "update borrowrecords set status = ? where bookid = ? and user = ? and status = ?";
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setString(1, "ÒÑ»¹");
|
|
preSql.setInt(2, bookid);
|
|
preSql.setString(3, user);
|
|
preSql.setString(4, "δ»¹");
|
|
ok = preSql.executeUpdate();
|
|
|
|
con.close();
|
|
ChangeReturnState(bookid);
|
|
} catch (SQLException e) {
|
|
}
|
|
}
|
|
//»¹ÊéͼÊéÐÞ¸ÄͼÊé״̬
|
|
private static void ChangeReturnState(int bookid) {
|
|
Connection con = ConnectDatabase.connectDB();
|
|
|
|
PreparedStatement preSql;
|
|
|
|
String sqlStr = "update booktable set state=? where bookid = ?";
|
|
|
|
try {
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setString(1, "ÔÚ¹Ý");
|
|
preSql.setInt(2, bookid);
|
|
|
|
int ok = preSql.executeUpdate();
|
|
con.close();
|
|
} catch (SQLException e) {
|
|
}
|
|
}
|
|
//±È¶Ô»¹Êé
|
|
public static boolean comparison(String user,int bookid) {
|
|
Connection con = ConnectDatabase.connectDB();
|
|
PreparedStatement preSql;
|
|
ResultSet rs;
|
|
String sqlStr = "select * from borrowrecords where bookid = ? and status = ?";
|
|
try {
|
|
preSql = con.prepareStatement(sqlStr);
|
|
preSql.setInt(1, bookid);
|
|
preSql.setString(2, "δ»¹");
|
|
rs = preSql.executeQuery();
|
|
while (rs.next()) {
|
|
String user2 = rs.getString(2);
|
|
if(user2.equals(user)) {
|
|
return true;
|
|
}else {
|
|
return false;
|
|
}
|
|
}
|
|
con.close();
|
|
return false;
|
|
} catch (SQLException e) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|