📄 readers.java
字号:
readerinfo.setReaderSex(rs.getString(3));
readerinfo.setReaderWP(rs.getString(4));
readerinfo.setReaderLocked(rs.getString(5));
readerinfo.setReaderPower(rs.getString(6));
readerinfo.setReaderCT(rs.getString(7));
readerinfo.setReaderAvail(rs.getString(8));
readerinfo.setReaderPhone(rs.getString(9));
readerinfo.setReaderComment(rs.getString(10));
readerList.add(readerinfo);
rs.next();
i++;
}
rs.close();
return true;
}
catch (SQLException e) {
errMsg = "搜索完毕,没有搜索到结果,请更改搜索条件后再尝试!";
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
else {
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限查询读者!";
return false;
}
}
public boolean addReader(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
request = res;
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
if (admin.isAdminSR(supervisor)) {
//产生新的读者编号
String readerSN = createReaderSN();
if (readerSN.equals("0000000")) {
errMsg = "无法产生新的读者编号,无法添加新读者,请联系高级管理员!";
return false;
}
//获取页面请求
readerName = request.getParameter("readerName");
readerSex = request.getParameter("readerSex");
readerWP = request.getParameter("readerWP");
readerLocked = request.getParameter("readerLocked");
readerPower = request.getParameter("readerPower");
readerCT = request.getParameter("readerCT");
readerAvail = request.getParameter("readerAvail");
readerPhone = request.getParameter("readerPhone");
readerComment = request.getParameter("readerComment");
try {
//添加读者信息
db.prepareStatement("insert into Reader values(?,?,?,?,?,?,?,?,?,?)");
db.setString(1, readerSN);
db.setString(2, readerName);
db.setString(3, readerSex);
db.setString(4, readerWP);
db.setString(5, readerLocked);
db.setString(6, readerPower);
db.setString(7, readerCT);
db.setString(8, readerAvail);
db.setString(9, readerPhone);
db.setString(10, readerComment);
db.executeUpdate();
return true;
}
catch (SQLException e) {
errMsg = "添加读者失败,无法写入数据库!";
return false;
}
finally {
db.close();
}
}
else {
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限添加读者!";
return false;
}
}
public boolean delReader(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
request = res;
String newReaderSN = db.toSql(request.getParameter("readerSN"));
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
//检查管理员是否有权限删除读者
if (admin.isAdminRO(supervisor)) {
//查询读者是否有未还图书
db.prepareStatement("select 读者编号 from Reader where 读者编号 = ?");
db.setString(1, newReaderSN);
ResultSet rs = db.executeQuery();
if (rs.next()) {
//查询读者是否有未还图书
db.prepareStatement("select 图书编号 from Borrow where 读者编号 = ?");
db.setString(1, newReaderSN);
rs = db.executeQuery();
if (!rs.next()) {
//删除读者
db.prepareStatement("delete from Reader where 读者编号 = ?");
db.setString(1, newReaderSN);
db.executeUpdate();
//关闭数据库连接
rs.close();
db.close();
return true;
}
else {
rs.close();
db.close();
errMsg = "读者编号为 " + newReaderSN + " 的读者有未归还的图书,图书必须全部归还后才允许删除读者!";
return false;
}
}
else {
rs.close();
db.close();
errMsg = "读者编号为 " + newReaderSN + " 的读者不存在,请确认无误后再尝试!";
return false;
}
}
else {
db.close();
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限删除图书!";
return false;
}
}
public boolean updateReader(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
request = res;
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
if (admin.isAdminRO(supervisor)) {
//获取页面请求信息
readerSN = request.getParameter("readerSN");
readerName = request.getParameter("readerName");
readerSex = request.getParameter("readerSex");
readerWP = request.getParameter("readerWP");
readerLocked = request.getParameter("readerLocked");
readerPower = request.getParameter("readerPower");
readerCT = request.getParameter("readerCT");
readerAvail = request.getParameter("readerAvail");
readerPhone = request.getParameter("readerPhone");
readerComment = request.getParameter("readerComment");
try {
//修改读者信息
db.prepareStatement("update Reader set 读者姓名 = ?, 性别 = ?, 单位 = ?, 是否锁定 = ?, 借阅权限 = ?, 创建时间 = ?, 有效期限 = ?, 联系电话 = ?, 备注 = ? where 读者编号 = ?");
db.setString(1, readerName);
db.setString(2, readerSex);
db.setString(3, readerWP);
db.setString(4, readerLocked);
db.setString(5, readerPower);
db.setString(6, readerCT);
db.setString(7, readerAvail);
db.setString(8, readerPhone);
db.setString(9, readerComment);
db.setString(10, readerSN);
db.executeUpdate();
return true;
}
catch (SQLException e) {
errMsg = "修改读者信息失败,请检查各项读者数据无误后再尝试!";
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
else {
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限修改读者信息!";
return false;
}
}
public boolean getReaderPower(String newReaderSN) throws
Exception {
DataBase db = new DataBase();
db.prepareStatement("select * from ReaderLevel where 借阅权限 = (select 借阅权限 from Reader where 读者编号 = ?)");
db.setString(1, newReaderSN);
ResultSet rs = db.executeQuery();
if (rs.next()) {
RPBC = Integer.parseInt(rs.getString(2)); //限借书数
RPBT = Integer.parseInt(rs.getString(3)); //借阅期限
RPCC = Integer.parseInt(rs.getString(4)); //续借次数
RPCT = Integer.parseInt(rs.getString(5)); //续借期限
return true;
}
else {
return false;
}
}
public boolean isExpReader(String newReaderSN) throws
Exception {
DataBase db = new DataBase();
DateTime dt = new DateTime();
db.prepareStatement("select 创建时间,有效期限 from Reader where 读者编号 = ?");
db.setString(1, db.toSql(newReaderSN));
ResultSet rs = db.executeQuery();
rs.next();
String newDate = rs.getString(1); //限借书数
int newYear = Integer.parseInt(rs.getString(2)); //借阅期限
String newExpDate = dt.gainYear(newDate, newYear);
if (dt.isExp(newExpDate)) {
return true;
}
else {
return false;
}
}
public boolean isBBRL(String newReaderSN) throws Exception {
DataBase db = new DataBase();
//获取该读者的限借书数
db.prepareStatement("select 限借书数 from ReaderLevel where 借阅权限 = (select 借阅权限 from Reader where 读者编号 = ?)");
db.setString(1, db.toSql(newReaderSN));
ResultSet rs = db.executeQuery();
rs.next();
int newRPBC = Integer.parseInt(rs.getString(1));
//获取该读者的已借书数
db.prepareStatement("select 图书编号 from Borrow where 读者编号 = ?");
db.setString(1, db.toSql(newReaderSN));
rs = db.executeQuery();
rs.last();
int newBBS = rs.getRow();
if (newBBS >= newRPBC) {
return true;
}
else {
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -