您的位置:首页 > 其它

怎样判断判断ResultSet是否为空

2011-12-20 22:25 375 查看
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());

}

/article/6989073.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: