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

请教关于STATEMENT的问题
小弟做了一个简单的数据库查询工具,连接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。

请问如何解决,提高程序运行速度。

------解决方案--------------------
如果只是查询数据库数据,而不需要修改数据最好将查询结果放入实体类中,这样就不会每取一条记录都访问数据库了
------解决方案--------------------
大概就是在说让你把resultSet放入到javaBean中!
用set/get方法把属性读出来!