小弟做了一个简单的数据库查询工具,连接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。请问如何解决,提高程序运行速度。

解决方案 »

  1.   

    已经用Statement stat = conn.createStatement();解决了,
    但还是想了解使用
    Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);如何解决速度慢的问题。
      

  2.   

    什么是放入实体类啊,怎么放,我不太明白,能详细解释一下吗?查询后的结果集不是已经放到一个ResultSet变量中了吗?为什么还要从数据库读取阿?
      

  3.   

    大概就是在说让你把resultSet放入到javaBean中!
    用set/get方法把属性读出来!