public boolean transfer(String inCardNO, String outCardNO,double money) {
boolean falg = false;
int[] count = null;
// 给转到的账户上增加金额
String sql1 = "update account set balance=balance+? where cardNo="+inCardNO;
// 给转出的账户上减少金额
String sql2 = "update account set balance=balance-? where cardNo="+outCardNO;
connection = getConnection();
try {
connection.setAutoCommit(false);
preparedStatement.clearBatch();
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
preparedStatement.clearParameters();
preparedStatement = connection.prepareStatement(sql2);
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
connection.commit();
count = preparedStatement.executeBatch();
connection.setAutoCommit(true);
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} finally {
closeAll(resultSet, preparedStatement, connection);
}
if (count != null)
falg = true;
return falg;
}上边的代码中,特别是红色字体部分 哪位大虾哥哥可以帮小弟看看 有什么问题? 怎么改正?
boolean falg = false;
int[] count = null;
// 给转到的账户上增加金额
String sql1 = "update account set balance=balance+? where cardNo="+inCardNO;
// 给转出的账户上减少金额
String sql2 = "update account set balance=balance-? where cardNo="+outCardNO;
connection = getConnection();
try {
connection.setAutoCommit(false);
preparedStatement.clearBatch();
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
preparedStatement.clearParameters();
preparedStatement = connection.prepareStatement(sql2);
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
connection.commit();
count = preparedStatement.executeBatch();
connection.setAutoCommit(true);
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} finally {
closeAll(resultSet, preparedStatement, connection);
}
if (count != null)
falg = true;
return falg;
}上边的代码中,特别是红色字体部分 哪位大虾哥哥可以帮小弟看看 有什么问题? 怎么改正?
解决方案 »
- 怎么样写才能在jsp页面中调用这个js树形
- 启动tomcat时的问题
- 我用STRUTS和ORACLE数据库做了一个验证用户名和密码的登录程序,报了下面的错误,是为什么啊,我用的服务器是WEBLOGIC?
- 如何在web service上传递抽象类型的参数啊!!!好几天搞不定了!!!
- XML文件报错
- 请问在J2SE程序中如何使用Hibernate
- 反射机制::高手解答!怎么才能得到一个Method类的实例??
- (初学者)为什么在EJB调用生命周期中有了class.newInstance()方法,还要有ejbCreate()方法
- 简单问题
- 用springmvc的注解@responsebody 无法返回json数据 不知道why
- 登录时出错
- 发个帖子尝试一下
count = preparedStatement.executeBatch();顺序不对,execute之后再commit
count = preparedStatement.executeBatch();
应该是先批处理executeBatch 再commit.
* 转账
*
* @return
*/
public boolean transfer(String inCardNO, String outCardNO, double money) {
boolean falg = false;
int[] count = null;
// 给转到的账户上增加金额
String sql1 = "update account set balance=balance+? where cardNo="
+ inCardNO;
// 给转出的账户上减少金额
String sql2 = "update account set balance=balance-? where cardNo="
+ outCardNO;
connection = getConnection();
try {
connection.setAutoCommit(false);
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.clearBatch();
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
preparedStatement.clearParameters();
preparedStatement = connection.prepareStatement(sql2);
preparedStatement.setDouble(1, money);
preparedStatement.addBatch();
count = preparedStatement.executeBatch();
connection.commit();
connection.setAutoCommit(true);
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} finally {
closeAll(resultSet, preparedStatement, connection);
}
if (count != null)
falg = true;
return falg;
} public boolean updatePwd(String pwd, String cardNo) {
boolean falg = false;
int count = 0;
String sql = "update account set pwd='" + pwd + "' where cardNo='"
+ cardNo + "'";
connection = getConnection();
try {
preparedStatement = connection.prepareStatement(sql);
count = preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
closeAll(resultSet, preparedStatement, connection);
}
if (count > 0)
falg = true;
return falg;
}
改过了 最后返回的是true 但是sql中的结果并没有修改
郁闷死嘞...