问题描述
已经调试出rs里面是两条数据,但是运行时候发现for()语句连着执行,第二次才进入循环体,就是导致少操作了一组数据publicbooleanDelFC(Stringid){DBCreaterdb=newDBCreater();ResultSetrs=null;Statementstm=null;Connectioncon=null;con=db.createConnection();booleanflag=true;try{stm=con.createStatement();Stringsql1="selectfc_idfromt_fcwherefc_factory='"+id+"'";System.out.println(sql1);rs=stm.executeQuery(sql1);intj=0;//用于标记用sql语句只能执行一次con.setAutoCommit(false);for(;rs.next();){j=1;//如果查询有结果集,则执行删除t_fc语句Stringfc_id=rs.getString("fc_id");Stringsql2="deletefromw_fcwherew_fc_fc='"+fc_id+"'";intm=0;m=stm.executeUpdate(sql2);if(m==0){flag=false;}}if(flag&&j==1){Stringsql="deletefromt_fcwherefc_factory='"+id+"'";intn=0;n=stm.executeUpdate(sql);if(n==0){flag=false;}}if(flag){con.commit();}db.closeConnection(con);}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnflag;}