请教关于STATEMENT的问题

starben 2007-09-12 12:22:47
小弟做了一个简单的数据库查询工具,连接SQL2000,将结果放在JTABLE中显示。
当连接同网段数据库时,程序一切正常。但连接一个公网固定IP的数据库时,程序运行十分缓慢,平均执行一个操作要3,4分钟。ping一下数据库服务器,time在50,70ms之间。
经小弟检查,发现当建立Statement时,如果使用
Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
则ResultSet的读取值将非常慢,而且将ResultSet变量读取赋值后,在写入JTable的TableModel时的getValueAt()方法也异常慢。
如果使用
Statement stat = conn.createStatement();或TYPE_FORWARD_ONLY,则RESULTSET读取速度正常,但这样不知道该如何做JTable的TableModel。

请问如何解决,提高程序运行速度。
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KingNE 2007-09-13
  • 打赏
  • 举报
回复
大概就是在说让你把resultSet放入到javaBean中!
用set/get方法把属性读出来!
starben 2007-09-13
  • 打赏
  • 举报
回复
什么是放入实体类啊,怎么放,我不太明白,能详细解释一下吗?查询后的结果集不是已经放到一个ResultSet变量中了吗?为什么还要从数据库读取阿?
malligator 2007-09-13
  • 打赏
  • 举报
回复
U~
UNDEAD_YANG 2007-09-13
  • 打赏
  • 举报
回复
如果只是查询数据库数据,而不需要修改数据最好将查询结果放入实体类中,这样就不会每取一条记录都访问数据库了
starben 2007-09-13
  • 打赏
  • 举报
回复
已经用Statement stat = conn.createStatement();解决了,
但还是想了解使用
Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);如何解决速度慢的问题。

62,612

社区成员

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

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