lilingbo
发贴: 0
积分: 0
|
于 2003-03-03 11:37
我重写的扩展的AbstractTableModel类的方法如下 public Object getValueAt(int r, int c) { try { ResultSet rsb = getResultSet(); rsb.absolute(r + 1); return rsb.getString(c+1); } catch(SQLException e) { System.out.println("Error " + e); return null; } } public void setValueAt(Object value,int r,int c) { ResultSet rsb = getResultSet(); try { rsb.absolute(r+1);
rsb.updateString(c + 1,value.toString());
rsb.updateRow();
fireTableCellUpdated(r,c);
} catch(SQLException e) { System.out.println("Error " + e);
}
} 1、如果查询后的结果用数组存储,然后在表格中显示出来,覆写getValueAt()和 setValueAt()方法,然后编辑表格中的内容,可以正常显示。但是这样的话,初始化 表格的速度很慢,一个几千条的数据库要10多秒钟。 2、如果查询后的结果保存在ResultSet中,然后覆写getValueAt()时用ResultSet中的行与列返回,这时初始化速度很快,显示也没有问题,但如果编辑某个单元后却无法正常显示 ,同一行的其它值都变成空的了。看来是覆写setValueAt()时更新ResultSet的方法不对。 请问各位高手,怎样解决这个问题?谢谢! lilingbo@163.com
|