我猜是这样的,执行statement后返回一个结果集保存在内存中,通过一个结果集的变量名rs指向statement的结果集,或者应该说是访问statement的结果集,但是你关闭了statement后,返回的结果集就没有了,也就是说rs所指的地方已经没有东东,rs变成了null,没有指向任何的结果集。
以上是我的理解,有不对的地方还请高人指点。
以上是我的理解,有不对的地方还请高人指点。
解决方案 »
- mysql数据库中文乱码问题
- 访问网站时"偶尔"出现返回 Can't connect to MySQL server on '127.0.0.1' (10061)。
- mysql存储过程插入数据表数据,提示出错
- at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)错误
- phpMyAdmin怎么上传mysql数据库文件?
- 求Postgresql 查询语句
- 递归查询的问题
- 能否恢复UPDATE 语句前的状态?
- mysql支持where in吧,我的问题(没分呀)
- 急!mysql处理繁体中文问题,解决重谢!!!
- 我把MySQL数据库中一个latin1_general_ci字段修改成了GB2312_chinese_ci结果出现乱码,怎么处理。
- 为什么CPU被Mysql大量占用?有什么优化吗?
有一个共公类,它执行statement,然后关闭这个statemetn,返回rs
之前的程序是没错的,
但不知为什么,换了一个更新的驱动后,不能在共公类中关闭statement,否则出错,
换回旧的驱动后还是出错(会不会与系统缓存有关?),郁闷啊!
(应该是rs被关闭了)
问题是在公共类中关闭statement,返回的rs无效;
如果在公共类中不关闭statement,则返回的rs有效,但这样会造成statement未关闭,消费系统资源.
When a Statement object is closed, its current ResultSet object, if one exists, is also closed.
详情参见sun官方文档