急,非常急,插入一批数据,只有最后一条数据库中显示?
我用的是Mysql数据库,在Java中进行数据的插入更新,我的操作是每更新一条数据(事务)提交一下,然后再更新一条数据。可是当我如此连续更新N条数据,用SQLyog查看mysql数据库,却发现只有最后一条数据显示更新成功,前面的N-1条数据都没有更新。在这过程中不回报错。我的Java是这样写的:返回true表示成功。
public boolean saveCpxx(UserLoginBean ulb, UserInputBean ui)
throws SQLException
{
String nowDate=csInput.StrNow();
Connection db = DbPool.getConnection();
String cmd1 = "update z_cpbjxx set scpbm='"+ui.get("i_cpbm").trim()+"',sbjzt='04' where slcpbm='"+ui.get("i_lcpbm").trim()+"'";
String cmd2 = "update z_cpjbxx set scpbm='"+ui.get("i_cpbm").trim()+"',scpmc='"+ui.get("i_cpbm").substring(0,8).trim()+"',"
+"sbbbm='"+ui.get("i_bbbm").trim()+"',scpzt='02',szjrkrq='"+nowDate+"',szjrkczy='"+ulb.getUID()+"'"
+" where slcpbm='" + ui.get("i_lcpbm") + "'";
int f1=0;
int f2=0;
try{
Statement sql = db.createStatement();
db.setAutoCommit(false);
f1=sql.executeUpdate(cmd1);
f2=sql.executeUpdate(cmd2);
db.commit();
if(f1!=0&&f2!=0)
{
return true;
}
else
{
return false;
}
}catch(Exception e){
e.printStackTrace();
try{
db.rollback();
return false;
}
catch(Exception ex)
{
ex.printStackTrace();
}
return false;
}
finally
{
db.close();
}
|