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.
library/BorrowRecords.java

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;
}
}
}