当前位置:   article > 正文

java转账_JAVA实现账户转账问题

java实现用户账户多人同时转账,怎么保证金额的准确性

我想分别输入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;

}

展开

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/404472
推荐阅读
相关标签
  

闽ICP备14008679号