首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

结果集为封装就直接执行finally了解决思路

2012-01-20 
结果集为封装就直接执行finally了Java codedebug调试出现了问题,执行到contentrun.executeQuery()时候直

结果集为封装就直接执行finally了

Java code
debug调试出现了问题,执行到content=run.executeQuery();时候直接跳到finally{}去了这是怎么回事?对结果集的封装根本没有执行。try {            //预编译            run=link.prepareStatement(sql);            //解释预编译            run.setString(1, mcbm);            run.setString(2, beginTime);            run.setString(3, endTime);            //获得结果集            content=run.executeQuery();            //对结果集封装            if(content.next()){                while(content.next()){                    //结果集封装到实体类                    chd_Infobean=new CHD_Infobean();                    chd_Infobean.setSeqno(content.getString("djbh"));                    chd_Infobean.setCh_sum(content.getString("bdzje"));                    chd_Infobean.setSp_num(content.getString("bdzs"));                    System.out.println("单据编号:"+chd_Infobean.getSeqno()+"总金额:"+chd_Infobean.getCh_sum()+"总数:"+chd_Infobean.getSp_num());                    //实体类封装到集合                    chd_InfoArray.add(chd_Infobean);                }                            }else{                return chd_InfoArray;            }        } catch (Exception e) {            // TODO: handle exception        }finally{            DBConn.closeLink(link, run, content);        }


[解决办法]
如果没有记录,那么不会走到if里

如果有一条记录,只会走到if里,不会走到while里

有两条记录才会走到while里


你干嘛加个if content.next()的判断?!画蛇添足
[解决办法]
里面没数据呗,而且if判断可以去了~

热点排行