赞
踩
我想分别输入BNUMBER(卡号)字段,并输入转账金额(BALANCE)实现两张数据表的相互转账。虽然提交后没报错,servlet能出到输入的值,但是数据库表无变化。我应该是哪里写错了吗,是S...
我想分别输入BNUMBER(卡号)字段,并输入转账金额(BALANCE)实现两张数据表的相互转账。
虽然提交后没报错,servlet能出到输入的值,但是数据库表无变化。我应该是哪里写错了吗,是SQL语句吗?求高手指点,在线等!
//银行卡转账
public boolean charge(String bnumber1, String bnumber2,Double balan){
boolean flag = false;
Connection conn = null;
PreparedStatement ps = null;
String sql1 = "update bank_account1 set balan=balan-? where balance=?";
String sql2 = "update bank_account2 set balan=balan+? where balance=?";
try {
conn = DBConn.getConn();
conn.setAutoCommit(false);//将连接设置为手动提交模式
ps = conn.prepareStatement(sql1);
ps.setDouble(1, balan);
ps.setString(2, bnumber1);
int i1 = ps.executeUpdate();
ps = conn.prepareStatement(sql2);
ps.setDouble(1, balan);
ps.setString(2, bnumber2);
int i2 = ps.executeUpdate();
if(i1 != 0 && i2 != 0){
flag = true;
conn.commit();
}else{
conn.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
} finally {
DBConn.closeAll(null, ps, conn);
}
return flag;
}
展开
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。