读书人

JSP中的JavaBean返回resultset的有关问

发布时间: 2011-12-10 22:22:01 作者: rapoo

JSP中的JavaBean返回resultset的问题
现在状况如下:
两个Bean a.java b.java

1.a.java
//...
ReslutSet rs=null;
public ResultSet executeQuery(String sql){
//....取得ReslutSet的方法
this.rs=stmt.executeQuery(sql);;//获了一次记录集
return this.rs;
}
public void rs_close(){this.rs.close();}


2.b.java
//...
a a=new a();
Reslultset rs2;
rs2=a.executeQuery( "select * ... ");//------------------x
a.rs_close();// 这句是我想问的问题---------------------y

如果我执行了y句以后,再到rs2里面取值时,发现里面空空如也,x句到底做了些什么呢,他没有把记录集真正的传给rs2吗,我关闭对象a里面的rs 还会影响外面的rs2,这是怎么回事啊

如果不执行y句,可以从rs2中取到值


[解决办法]
rs2 和 rs 都是同一个结果对象的 引用

对rs2或者rs 进行关闭 实际上是关闭同一个对象

这种情况 最好把rs里面值放到容器里面 来传递
[解决办法]
是引用阿
[解决办法]
同意楼上~~~ 你可以再建立一个javaBean来关闭result~~
等到所有数据都处理完毕了,再执行这个javaBean
[解决办法]
建议lz好好看一下《编程思想〉的第二张
rs 把它引用的对象传递给了rs2,两个同时引用的是同一个对象,要是关闭一个,另一个也关闭了。


[解决办法]
楼主可以试试把rs放在list中存储传递

读书人网 >Java Web开发

热点推荐