while(rs.next())
{
Iterator iter = all.iterator();
while (iter.hasNext()) {
Plan p = (Plan) iter.next();
String id = p.getOtherFlag();
if(rs.getString("otherflag").equals(id))
{
System.out.println("存在相同");
}
else
{
//根据查找到符合条件的otherflag找到主表项
String sql_res = "select * from administrator.tdphtmp where otherflag='"+ rs.getString("otherflag") +"'";
System.out.println(sql_res);
PreparedStatement pstmt_res = null ;
try
{
pstmt_res = dbc.getConnection().prepareStatement(sql_res) ;
ResultSet rs_res = pstmt_res.executeQuery() ;
while(rs_res.next())
{
Plan plan = new Plan() ;
//plan.setId(rs.getInt("id"));
plan.setDwbm_name(rs_res.getString("dwbm_name"));
plan.setTxr(rs_res.getString("txr")) ;
plan.setTxrq(rs_res.getDate("txrq")) ;
plan.setDdselect(rs_res.getString("ddselect")) ;
plan.setDd(rs_res.getString("dd"));
plan.setTdsbfw(rs_res.getString("tdsbfw"));
plan.setLb(rs_res.getString("lb"));
plan.setGznr(rs_res.getString("gznr"));
plan.setJhksrq(rs_res.getDate("jhksrq"));
plan.setJhjsrq(rs_res.getDate("jhjsrq"));
plan.setTs(rs_res.getString("ts"));
plan.setWorktimesure(rs_res.getString("worktimesure"));
plan.setBz(rs_res.getString("bz"));
plan.setSjzt(rs_res.getString("sjzt"));
plan.setScbj(rs_res.getString("scbj"));
plan.setOtherFlag(rs_res.getString("otherflag"));
plan.setOtherFlag2(rs_res.getString("otherflag2"));
all.add(plan) ;
}
rs_res.close() ;
pstmt_res.close() ;
}
catch (Exception e)
{
System.out.println("query出现错误"+e) ;
}
}
}
}
rs.close() ;
pstmt.close() ;
}
{
Iterator iter = all.iterator();
while (iter.hasNext()) {
Plan p = (Plan) iter.next();
String id = p.getOtherFlag();
if(rs.getString("otherflag").equals(id))
{
System.out.println("存在相同");
}
else
{
//根据查找到符合条件的otherflag找到主表项
String sql_res = "select * from administrator.tdphtmp where otherflag='"+ rs.getString("otherflag") +"'";
System.out.println(sql_res);
PreparedStatement pstmt_res = null ;
try
{
pstmt_res = dbc.getConnection().prepareStatement(sql_res) ;
ResultSet rs_res = pstmt_res.executeQuery() ;
while(rs_res.next())
{
Plan plan = new Plan() ;
//plan.setId(rs.getInt("id"));
plan.setDwbm_name(rs_res.getString("dwbm_name"));
plan.setTxr(rs_res.getString("txr")) ;
plan.setTxrq(rs_res.getDate("txrq")) ;
plan.setDdselect(rs_res.getString("ddselect")) ;
plan.setDd(rs_res.getString("dd"));
plan.setTdsbfw(rs_res.getString("tdsbfw"));
plan.setLb(rs_res.getString("lb"));
plan.setGznr(rs_res.getString("gznr"));
plan.setJhksrq(rs_res.getDate("jhksrq"));
plan.setJhjsrq(rs_res.getDate("jhjsrq"));
plan.setTs(rs_res.getString("ts"));
plan.setWorktimesure(rs_res.getString("worktimesure"));
plan.setBz(rs_res.getString("bz"));
plan.setSjzt(rs_res.getString("sjzt"));
plan.setScbj(rs_res.getString("scbj"));
plan.setOtherFlag(rs_res.getString("otherflag"));
plan.setOtherFlag2(rs_res.getString("otherflag2"));
all.add(plan) ;
}
rs_res.close() ;
pstmt_res.close() ;
}
catch (Exception e)
{
System.out.println("query出现错误"+e) ;
}
}
}
}
rs.close() ;
pstmt.close() ;
}
迭代时要加同步锁。
不能帮你试
原因是因为你一边遍历一边修改造成的
改成iterator的方法就行了
找到了,前2天刚看过
list = Collections.synchronizedList(list);然后
synchronized(list){
迭代过程}
{ Iterator iter = all.iterator();
while (iter.hasNext()) {
Plan p = (Plan) iter.next();
String id = p.getOtherFlag();
if(rs.getString("otherflag").equals(id))
{
System.out.println("存在相同");
}
else
{
//根据查找到符合条件的otherflag找到主表项
String sql_res = "select * from administrator.tdphtmp where otherflag='"+ rs.getString("otherflag") +"'";
System.out.println(sql_res);
PreparedStatement pstmt_res = null ;
try
{
pstmt_res = dbc.getConnection().prepareStatement(sql_res) ;
ResultSet rs_res = pstmt_res.executeQuery() ;
while(rs_res.next())
{
Plan plan = new Plan() ;
//plan.setId(rs.getInt("id"));
plan.setDwbm_name(rs_res.getString("dwbm_name"));
plan.setTxr(rs_res.getString("txr")) ;
plan.setTxrq(rs_res.getDate("txrq")) ;
plan.setDdselect(rs_res.getString("ddselect")) ;
plan.setDd(rs_res.getString("dd"));
plan.setTdsbfw(rs_res.getString("tdsbfw"));
plan.setLb(rs_res.getString("lb"));
plan.setGznr(rs_res.getString("gznr"));
plan.setJhksrq(rs_res.getDate("jhksrq"));
plan.setJhjsrq(rs_res.getDate("jhjsrq"));
plan.setTs(rs_res.getString("ts"));
plan.setWorktimesure(rs_res.getString("worktimesure"));
plan.setBz(rs_res.getString("bz"));
plan.setSjzt(rs_res.getString("sjzt"));
plan.setScbj(rs_res.getString("scbj"));
plan.setOtherFlag(rs_res.getString("otherflag"));
plan.setOtherFlag2(rs_res.getString("otherflag2"));
iter.remove();
all.add(plan) ;
}
rs_res.close() ;
pstmt_res.close() ;
}
catch (Exception e)
{
System.out.println("query出现错误"+e) ;
}
}
} }
rs.close() ;
pstmt.close() ;
}