package sql;
import java.io.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
@SuppressWarnings({"all"})
public class Borrow { //借还信息管理模块
static Scanner scanner = new Scanner(System.in);
static String stuID;
static String bookName;
static String bookID;
public static boolean scan() { //输入学号 判断是否存在
try {
Statement stmt;
stmt = Conn.con.createStatement();
System.out.print("请输入你的学号:");
stuID = scanner.next();
ResultSet rs = stmt.executeQuery("select Stu_id from student where Stu_id=\'" + stuID + "\'"); //将查询结果放在 ResultSet 集合
if(rs.next()) {
String inquireStuID = rs.getString(1);
if(stuID.equals(inquireStuID)) {
return true;
}
}
System.out.println("你输入的学号不存在!");
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return false;
}
public static boolean scanBookID() {
try {
Statement stmt;
stmt = Conn.con.createStatement();
System.out.print("请输入你的图书编号:");
bookID = scanner.next();
ResultSet rs = stmt.executeQuery("select Book_id from book where Book_id=\'" + bookID + "\'"); //将查询结果放在 ResultSet 集合
if(rs.next()) {
String inquireBookID = rs.getString(1);
if(bookID.equals(inquireBookID)) {
return true;
}
}
System.out.println("你输入的图书编号不存在!");
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return false;
}
public static void borrowBook() { //借书
Statement stmt;
try {
stmt = Conn.con.createStatement();
System.out.print("请输入你要借的书的名字:");
bookName = scanner.next();
ResultSet rs = stmt.executeQuery("select * from book where Name=\"" + bookName + "\""); //将查询结果放在 ResultSet 集合
if (rs.next()) {
String borBookID = rs.getString("Book_id"); //获取 Book_id 字段
int sum = rs.getInt("Inventery"); //得到书的库存
System.out.println("图书馆中有" + bookName + "这本书,库存还有:" + sum);
do {
System.out.print("你是否要借阅这本书?(y/n):");
char c = scanner.next().charAt(0);
if (c == 'Y' || c == 'y') {
if(sum > 0) {
returnBook();
LocalDateTime borrowDate = LocalDateTime.now();
LocalDateTime returnDate = borrowDate.plusMonths(6); //应还时间
ResultSet rs3 = stmt.executeQuery("select * from borrow where Stu_id=\"" + stuID + "\""); //将查询结果放在 ResultSet 集合
if(rs3.next()) { //如果已经存在 学号为 stuID
stmt.executeUpdate("update book set Inventery=Inventery-1 where Name=\"" + bookName + "\"");//书的库存-1
String stat = bookName + "(借阅中)";
String sql5 = "update borrow set " +
"Book_id=\'" + borBookID + "\'," +
"Borrow_time=\'" + borrowDate + "\'," +
"Return_time=\'" + returnDate + "\'," +
"State=\'" + stat + "\' " +
"where Stu_id=\"" + stuID + "\"";
stmt.executeUpdate(sql5);
stmt.close();
System.out.println("borrow success!");
return;
} else {
stmt.executeUpdate("update book set Inventery=Inventery-1 where Name=\"" + bookName + "\"");
//书的库存-1
String stat = bookName + "(借阅中)";
String sql3 = "insert into borrow values (\'" +
stuID + "\',\'" +
borBookID + "\',\'" +
borrowDate + "\',\'" +
returnDate + "\',\'" +
stat + "\')";
stmt.executeUpdate(sql3);
stmt.close();
System.out.println("borrow success!");
return;
}
}
System.out.println("该书库存不够,不能借阅");
return;
} else if (c == 'N' || c == 'n') {
return;
}
System.out.println("sorry,InputError(y/n)");
} while (true);
} else {
System.out.println("不存在图书名称为" + bookName+ "的记录。");
return;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
return;
}
}
public static void returnBook() { //还书
try {
Statement stmt;
stmt = Conn.con.createStatement();
String sql = "select * from borrow where Stu_id=\"" + stuID + "\"";
ResultSet rs2 = stmt.executeQuery(sql); //将查询结果放在 ResultSet 集合
if(rs2.next()) {
String state = rs2.getString("State");
String retBookID = rs2.getString("Book_id"); //要归还的书的编号
if(!state.equals("已归还")) {
String stat = "已归还";
String sql2 = "update borrow set Return_time=null,State=\"" + stat + "\" where Stu_id=\"" + stuID + "\"";
stmt.executeUpdate(sql2);
String sql3 = "update book set Inventery=Inventery+1 where Book_id=\"" + retBookID + "\"";
stmt.executeUpdate(sql3);//书的库存+1
System.out.println("return success!");
stmt.close();
return;
}
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
public static void renewal() { //续借
try {
Statement stmt;
stmt = Conn.con.createStatement();
String sql = "select * from borrow where Stu_id=\"" + stuID + "\"";
ResultSet rs = stmt.executeQuery(sql); //将查询结果放在 ResultSet 集合
System.out.print("请输入你要续借的时间(以月为单位):");
int r = scanner.nextInt(); //保存续借的月份
if(r < 0 || r >= 6) {
System.out.println("抱歉,最多只支持续借6个月!");
return;
}
if(rs.next()) {
String s = rs.getString("State"); //得到状态
if(!s.equals("已归还")) {
String s2 = rs.getString("Return_time");
LocalDateTime returnDate =
LocalDateTime.parse(s2 , DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
returnDate = returnDate.plusM
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
图书信息管理系统改良版.zip (15个子文件)
in2-master
src
lib
mysql-connector-java-8.0.30.jar 2.4MB
sql
Conn.java 1KB
BookCRUD.java 6KB
StuCRUD.java 5KB
Borrow.java 11KB
Login.java 2KB
User.java 6KB
books.sql 5KB
.idea
uiDesigner.xml 9KB
libraries
lib.xml 265B
vcs.xml 180B
misc.xml 273B
modules.xml 244B
.gitignore 176B
in.iml 484B
共 15 条
- 1
资源评论
博士僧小星
- 粉丝: 1764
- 资源: 5875
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功