Topic: 关于ResultSet装入Vector的问题

  Print this page

1.关于ResultSet装入Vector的问题 Copy to clipboard
Posted by: dytiger
Posted on: 2003-12-02 09:38

我想在一个Servlet里取出数据库中的若干个ResultSet,并把它们依次装入一个Vector中.然后把这个Vector传送给一个JSP页面,可是装入Vector中的所有ResultSet都指向唯一的内存地址,最后得到一个含有若干个最后一条记录ResultSet的Vector.请问如何解决这个问题?谢谢!

程序片段
//quarySet是Vector对象.
//rs是ResultSet对象.
rs.beforeFirst();
while(rs.next())
{
quarySet.add(rs);
System.out.println(quarySet);
}

2.Re:关于ResultSet装入Vector的问题 [Re: dytiger] Copy to clipboard
Posted by: Jove
Posted on: 2003-12-02 10:12

ResultSet是保持链接的,它其实一个Iterator
你把一个ResultSet对象的引用放入Vector是没有意义的

有多种做法,你可以
while(rs.next()){
//把得到当前行,调用若干rs.getString(), rs.getInt()之类,构造成一个对象,放入vector
}

还有比较简单的做法,使用Jakarta commons beanUtils 1.6.1
ResultSet rs=...;
RowSetDynaClass rsdc = new RowSetDynaClass(rs);
rs.close();
List rows = rsdc.getRows(); //<DynaBean>List
至于DynaBean的用法见它的apidoc

还有若干做法,比如把ResultSet包装成RowSet,Sun提供了参考实现,Oracle也实现了它上面的

可选方案很多,但决不是把rs扔到vector中

3.Re:关于ResultSet装入Vector的问题 [Re: dytiger] Copy to clipboard
Posted by: dytiger
Posted on: 2003-12-02 11:04

非常感谢!Smile

再请问一下,TOMCAT4是否支持RowSet?

4.Re:关于ResultSet装入Vector的问题 [Re: dytiger] Copy to clipboard
Posted by: Jove
Posted on: 2003-12-02 11:12

RowSet及其具体实现是一个api, 和Tomcat没有关系
你把它相关的几个jar放到项目的WEB-INF/lib/下面
在jsp/javabean/servet中写RowSet相关的代码就是了

5.Re:关于ResultSet装入Vector的问题 [Re: dytiger] Copy to clipboard
Posted by: dytiger
Posted on: 2003-12-02 20:45

感谢您的帮助,问题解决了.Smile


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923