怎样判断判断ResultSet是否为空

来源:互联网 发布:mysql match 完全匹配 编辑:程序博客网 时间:2024/04/30 06:34
pstm = conn.prepareStatement("select * From Cl_ArticleClass Where ParentID=? order by OrderID");
              pstm.setInt(1,parentid);
              rs = pstm.executeQuery();
              if(rs.next()){
               coll= new ArrayList<ArticleClassInfo>();
               
              while(rs.next())
     {
         ArticleClassInfo ac = new ArticleClassInfo();
        ac.setClassID(rs.getInt("ClassID"));
        ac.setParentPath(rs.getString("ParentPath"));
        ac.setClassName(rs.getString("ClassName"));
        ac.setChild(rs.getInt("Child"));
        ac.setNextID(rs.getInt("NextID"));
        ac.setDepth(rs.getInt("Depth"));
        coll.add(ac);
     }
              }

使用rs.next()是否为true来判断,会使游标前移一位,可能丢掉一条记录

if(rs.next()) {
rs.first();
}这样是不是可以重新回到原始位置

改下算法就可以了 太大意了最终结果

   pstm = conn.prepareStatement("select * From Cl_ArticleClass Where ParentID=? order by OrderID");
              pstm.setInt(1,parentid);
              rs = pstm.executeQuery();
              if(rs.next()){
               coll= new ArrayList<ArticleClassInfo>();
               
             do{
         ArticleClassInfo ac = new ArticleClassInfo();
        ac.setClassID(rs.getInt("ClassID"));
        ac.setParentPath(rs.getString("ParentPath"));
        ac.setClassName(rs.getString("ClassName"));
        ac.setChild(rs.getInt("Child"));
        ac.setNextID(rs.getInt("NextID"));
        ac.setDepth(rs.getInt("Depth"));
        coll.add(ac);
     } while(rs.next());
              }


http://www.cnblogs.com/jasonlee/archive/2009/07/01/1514838.html