下面是代码:
package Main;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class DataBaseOperation {
//数据库连接
private static Connection connect() {
// SQLite connection string
String url = "jdbc:sqlite:D:/software/sqlite/BankManageSystem.db";
Connection conn = null;
try {
conn = DriverManager.getConnection(url);
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return conn;
}
//插入元组到管理员表
public boolean insertAdmin(String id,String account,String adminkey,int rank,String leader) {
String sql = "INSERT INTO admin(id, account,adminkey,rank,leader) VALUES(?,?,?,?,?)";
try {
Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, account);
pstmt.setString(3, adminkey);
pstmt.setInt(4, rank);
pstmt.setString(5, leader);
pstmt.executeUpdate();
sql = "update admin set adminlog = 'D:\\software\\sqlite\\Adminlog' || id || '.txt'";
pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
}
//管理员登录 检查 密码校对
public static boolean checkAdminKey(String account,String key) {
String sql = "SELECT * FROM admin WHERE account == " + account + " AND adminkey = " + key;
try {
Connection conn = connect();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return true;
else return false;
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
}
//用户登录 检查 密码校对
public boolean checkUserKey(String account,String key) {
String sql = "SELECT * FROM userAccount WHERE account == " + account + " AND acckey = " + key;
try {
Connection conn = connect();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return true;
else return false;
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
}
//根据管理员account 或者ID 获取该普通管理员的上级超级管理员
//返回字符串“0”则表明这个管理员就是超级管理员
public String getLeader(String str) {
String result = null;
String sql = "SELECT * FROM admin WHERE account == " + str + " or id = " + str;
try {
Connection conn = connect();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// loop through the result set
result = rs.getString("leader");
} catch (SQLException e) {
System.out.println(e.getMes