日期:2014-05-20  浏览次数:20607 次

请高手帮帮忙,java数据库连接的result set问题
我想把连接数据库取数据和处理数据放在两个函数中实现
于是用了一个全局变量(类变量)result   set
可是这样一来运行的时候会报错说result   set耗尽
是不是result   set不能通过全局变量传数据啊,取数据和处理数据只能写在一个函数里面吗?
请高手指点,谢谢了!

------解决方案--------------------
连接数据库取数据的方法返回值作为处理数据方法的参数传过来就可以啊
------解决方案--------------------
ResultSet在关闭之前,相当于数据库有一个打开的游标没有关闭,只有关闭后它占用的内存才能释放,所以结果集在使用完后要及时关闭。

通常做法是循环读取结果集,把数据保存到一个集合对象中,比如ArrayList,然后关闭结果集。代码间传递的是ArrayList对象。
------解决方案--------------------
没关闭ResultSet
------解决方案--------------------
我前一段时间也被这个问题困扰.但是resultset是不能传值的,因为它是一个端口.
最后我只好做了一个类,以这个类的对象为结点,对象内容就是resultset的各个项,把结点存入ArrayList中,用ArrayList传值.
如果取出单行记录,直接就用这个类的对象来传值.
希望对你能有些帮助.