java向数据库中批量修改数据的问题

通过两条输出指令可以看到新密码已经生成,而且数目正常,但是为什么数据库里面密码的字段值还是没有修改成功呢?

源程序:
package javaapplication1;

import dbManager.dbManager;
import java.sql.*;

public class SetPWD {

public static void main(String[] args) {
dbManager dbm = new dbManager();
Statement stmt = null;
int n = 0;
try {
String sql1 = "select xh,zjhm,passwd from xsjbxx where nj='2009'";
ResultSet rs = dbm.getResultSet(sql1);
stmt = rs.getStatement();
while (rs.next()) {
n++;
String xh = rs.getString("xh").trim();
String zjhm = rs.getString("zjhm").trim();
String newPWD = MD5.getMD5("111111");
System.out.println(newPWD);
String sql2 = "update xsjbxx set passwd='" + newPWD + "' where xh='" + xh + "'";
stmt.addBatch(sql2);
}
stmt.executeBatch();

} catch (Exception ex) {
}
System.out.println(n);
}
}

第1个回答  2012-06-12
你刷新一下数据库试试,不行把数据关掉重试。再不行就是你的程序问题了。
第2个回答  2012-06-12
int count[]=stmt.executeBatch();把count遍历出来,看是否都执行成功了,大于等于0的是成功的
第3个回答  2012-06-12
int [] updateCounts=stmt.executeBatch();

看哪句到底如何结果。

另外,SELECT * FROM xsjbxx where xh='" + xh + "'" 看到底返回多少
第4个回答  2012-06-12
我不知道你的Connection是不是autoCommit,如果不是的话,估计你需要手动commit一下
相似回答