用数组存储ResultSet记录集

banjiamayi 2006-05-08 01:51:58
用select语句得到的结果为ResultSet rs,把rs中得到的记录集放入数组array[]中,如果事先不知道rs到底有多少条记录,那么数组应该分配多大空间呢?
...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
heliang69 2006-05-09
  • 打赏
  • 举报
回复
如果rs里不只一种类型的数据,那么要可以用ArrayList嵌套,读取的时候用循环读出来。
baiyang3721 2006-05-09
  • 打赏
  • 举报
回复
ResultSet中的数据直接放到rowset中不是更方便?
wssgwps 2006-05-09
  • 打赏
  • 举报
回复
定义一个VO,比如:
public class TestVO
{
private String str;
private Date dataTime;
private int i;

public void setStr(String str){this.str=str;}
public String getStr(){return str};
//....
//其他的成员的getter,setter
}

然后程序里边:
ArrayList al = new ArrayList();
TestVO vo = null;
while(rs.next())
{
vo.setStr(rs.getString(1));
vo.setI(rs.getI(2));
//...
al.add(vo);
}
ericbu 2006-05-09
  • 打赏
  • 举报
回复
如果不用ArrayList之类

可以在获得ResultSet后通过getMetaData().getColumnCount() 获取列数
通过last(),getRow()两个方法获得行数
然后为二维数组分配空间
banjiamayi 2006-05-09
  • 打赏
  • 举报
回复
那么如果rs记录集中不止是一种数据类型,比如有String,有datetime,还有int,存储时还需要对它们有所区分吗?
还有想请教一下,读取的时候应该怎样写呢?麻烦给个详细点的代码!谢谢各位了!
heliang69 2006-05-08
  • 打赏
  • 举报
回复
你可以使用ArrayList来代替数组
ArrayList al = new ArrayList();
while(rs.next()){
al.add(rs........);
}
baidongli 2006-05-08
  • 打赏
  • 举报
回复
这样的话,推荐使用向量数组如:ArrayList,Vector。
或者使用map等。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧