package DB;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
public class DatabaseOperate {
/**
* @param args
*/
String sql, sql1;
ResultSet rs = null;
String account_number, branch_name, card_style, balance, customer_name,
loan_number, card_number, branch_city, assets;
String customer_street, customer_city, credit, amount, password;
// 登录,根据用户输入卡号查询得到密码,并验证
public String[] login(String num) {
DatabaseConn DB = new DatabaseConn();
this.card_number = num;
String[] s = new String[4];
sql = "select * from login where card_number = "
+ Integer.parseInt(card_number) + " ";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
if (rs.next()) {
s[0] = rs.getString("customer_name");
s[1] = rs.getString("card_style");
s[2] = rs.getString("card_number");
s[3] = rs.getString("password");
} else
s = null;
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return s;
}
// 查询存、取款账户相关信息
public String[] schbalance(String num) {
DatabaseConn DB = new DatabaseConn();
this.card_number = num;
String[] s = new String[6];
sql = "select * from depositor,account where (card_number = "
+ Integer.parseInt(card_number)
+ ") and depositor.account_number = account.account_number ";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
if (rs.next()) {
s[0] = rs.getString(1); // customer_name
s[1] = rs.getString(2); // depositor.account_number
s[2] = rs.getString(3); // card_number
s[3] = rs.getString(4); // account.account_number
s[4] = rs.getString(5); // branch_name
s[5] = rs.getString(6); // balance
} else
s = null;
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return s;
}
// 查询贷款账户相关信息
public String[] schamount(String num) {
DatabaseConn DB = new DatabaseConn();
this.card_number = num;
String[] s = new String[6];
sql = "select * from borrower,loan where (card_number = "
+ Integer.parseInt(card_number)
+ ") and loan.loan_number = borrower.loan_number ";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
if (rs.next()) {
s[0] = rs.getString(1); // customer_name
s[1] = rs.getString(2); // borrower.loan_number
s[2] = rs.getString(3); // card_number
s[3] = rs.getString(4); // loan.loan_number
s[4] = rs.getString(5); // branch_name
s[5] = rs.getString(6); // amount
} else
s = null;
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return s;
}
// 查询客户信用额度
public int schcredit(String name) {
DatabaseConn DB = new DatabaseConn();
this.customer_name = name;
int Credit = 0;
sql = "select credit from customer where customer_name = '"
+ customer_name + "' ";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
while (rs.next()) {
Credit = rs.getInt(1);
}
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return Credit;
}
// 存款,根据用户输的金额更新账户
public String[] deposit(String money, String num) {
DatabaseConn DB = new DatabaseConn();
this.balance = money;
this.card_number = num;
String[] t = new String[6];
t = schbalance(card_number);
double temp = Double.parseDouble(t[5].trim())
+ Double.parseDouble(balance);
sql = "update account set balance = " + temp
+ " where account_number = " + Integer.parseInt(t[1].trim())
+ " ";
try {
DB.OpenConn();
DB.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
JOptionPane.showMessageDialog(null, "存款失败,请重新输入金额点击确定!", "错误",
JOptionPane.ERROR_MESSAGE);
} finally {
DB.closeStmt();
DB.closeConn();
}
return t;
}
// 取款 根据用户输的金额跟信用额度 更新账户
public String[] get(String money, String num) {
DatabaseConn DB = new DatabaseConn();
this.card_number = num;
this.balance = money;
String[] t = new String[6];
t = schbalance(card_number);
double temp = Double.parseDouble(t[5].trim())
- Double.parseDouble(balance);
sql = "update account set balance = " + temp
+ " where account_number = " + Integer.parseInt(t[1].trim())
+ " ";
try {
DB.OpenConn();
DB.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
JOptionPane.showMessageDialog(null, "取款失败,您取款金额过大请重新填写!", "错误",
JOptionPane.ERROR_MESSAGE);
} finally {
DB.closeStmt();
DB.closeConn();
}
return t;
}
// 贷款 ,根据用户输的金额跟信用额度、已经贷的金额 进行贷款
public void loan(String money, String num, String time, String rate) {
DatabaseConn DB = new DatabaseConn();
this.amount = money;
this.card_number = num;
String loan_time = time;
String interest_rate = rate;
String[] t = new String[6];
t = schamount(card_number);
// 更新数据库
double temp1 = Math.pow((1 + Double.parseDouble(interest_rate)), Double
.parseDouble(loan_time));
double temp2 = Double.parseDouble(t[5].trim())
+ Double.parseDouble(amount) * temp1;
sql = "update loan set amount = " + temp2 + " where loan_number = "
+ Integer.parseInt(t[1].trim()) + " ";
try {
DB.OpenConn();
DB.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
JOptionPane.showMessageDialog(null, "贷款失败,请重新进行操作!", "警告",
JOptionPane.ERROR_MESSAGE);
} finally {
DB.closeStmt();
DB.closeConn();
}
}
// 计算年利率
public Double interest_rate(String time) {
String loan_time = time;
double interest_rate = 0;
// 计算年利率
if (Double.parseDouble(loan_time) <= 1) {
interest_rate = 0.0612;
} else if (Double.parseDouble(loan_time) <= 3) {
interest_rate = 0.063;
} else if (Double.parseDouble(loan_time) <= 5) {
interest_rate = 0.0648;
} else {
interest_rate = 0.0684;
}
return interest_rate;
}
// 还贷
public void pay(String num) {
DatabaseConn DB = new DatabaseConn();
this.card_number = num;
String[] t = new String[6];
t = schamount(card_number);
sql = "update loan set amount = 0 where loan_number = "
+ Integer.parseInt(t[1].trim()) + " ";
try {
DB.OpenConn();
DB.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
JOptionPane.showMessageDialog(null, "还贷失败,请重新进行操作!", "警告",
JOptionPane.ERROR_MESSAGE);
} finally {
DB.closeStmt();
DB.closeConn();
}
}
// 验证卡号是否唯一,若不唯一,则生成新的卡号
public String CnPreclude(String testcn) {
String a = testcn;
DatabaseConn DB = new DatabaseConn();
String sql = "select * from login";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
while (rs.next()) {
if ((testcn).equals(rs.getString("card_number").trim())) {
String next = null;
next = Integer.toString(Integer.parseInt(testcn) + 1);
a = CnPreclude(next);
}
}
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return a;
}
// 验证存款账号是否唯一,若不唯一,则生成新的账号
public String depositorNum(String num) {
String a = num;
DatabaseConn DB = new DatabaseConn();
String sql = "select * from account";
try {
DB.OpenConn();
rs = DB.executeQuery(sql);
while (rs.next()) {
if ((num).equals(rs.getString("account_number").trim())) {
String next = null;
next = Integer.toString(Integer.parseInt(num) + 1);
a = depositorNum(next);
}
}
} catch (Exception e) {
} finally {
DB.closeStmt();
DB.closeConn();
}
return a;
}
// 验证贷款账号是否唯一,若不唯一,则生成新的账号
public String borrowerNum(String num) {
String a = num;
DatabaseConn DB = new DatabaseConn(
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
我们专业数据库课程设计的题目,编写一个银行数据库系统,模拟自动取款机的功能。有两类主体:管理员跟客户。管理员能实现开户、销户、各种查询功能;客户执行存款、取款、贷款、还贷、转账等操作。由于要连接数据库,考虑到JDBC比较数据,故编程语言我选择的是JAVA, 数据库用的是Sql Sever 2008,编程工具用的是Myeclipse 7.0。
资源推荐
资源详情
资源评论
收起资源包目录
BankSystem.rar (47个子文件)
JDBC导入的包及程序用到的图片
pic2.jpg 15KB
sqljdbc.jar 438KB
msbase.jar 280KB
mssqlserver.jar 66KB
sqljdbc4.jar 455KB
pic.jpg 127KB
msutil.jar 58KB
DB文件
BankDB_log.ldf 1024KB
BankDB.mdf 3MB
BankSystem
.project 386B
bin
DB
DatabaseOperate.class 9KB
DatabaseConn.class 3KB
LoanFrame.class 5KB
BankSystem.class 5KB
AdminFrame.class 4KB
ComQuery.class 4KB
OpenAccount.class 8KB
OpenAccountSuccess.class 5KB
DepositFrame.class 4KB
TransferFrame.class 4KB
OpenAccount$card_styleHandler.class 1020B
LogOffFrame.class 6KB
GetFrame.class 5KB
MixQuery.class 4KB
MainFrame.class 4KB
FuzzyQuery.class 5KB
OpenAccount$creditHandler.class 997B
QueryResult.class 5KB
PayFrame.class 4KB
src
MainFrame.java 3KB
LoanFrame.java 4KB
FuzzyQuery.java 3KB
DB
DatabaseOperate.java 10KB
DatabaseConn.java 2KB
BankSystem.java 4KB
PayFrame.java 3KB
AdminFrame.java 3KB
LogOffFrame.java 5KB
GetFrame.java 4KB
TransferFrame.java 4KB
OpenAccountSuccess.java 5KB
DepositFrame.java 3KB
OpenAccount.java 8KB
ComQuery.java 3KB
MixQuery.java 3KB
QueryResult.java 4KB
.classpath 700B
共 47 条
- 1
资源评论
- WANG_ONC2020-05-31是地大嘛,感觉是校友啊,一样的题目,就是不知道为啥要多个支行,数据库可以用来参考,应用程序我没有用
- dlasdlashanca2015-05-05代码比较有借鉴价值,不过怎么进不去系统
积跬步,积小流
- 粉丝: 71
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功