import java.sql.*;
import java.util.Vector;
public class ResultSetTableModel extends AbstractTableModel{
public ResultSetTableModel(ResultSetaResultSet,String[] columnNames) {
this.columnNames =columnNames;
rs = aResultSet;
try {
rsmd =rs.getMetaData();
}catch(SQLException e) {
e.printStackTrace();
}
}
public String getColumnName(int c) {
return columnNames[c];
}
public int getColumnCount() {
try {
returnrsmd.getColumnCount();
}catch(SQLException e) {
e.printStackTrace();
return0;
}
}
public int getRowCount() {
try {
rs.last();
returnrs.getRow();
}catch(SQLException e) {
e.printStackTrace();
return0;
}
}
public Object getValueAt(int r, int c) {
try {
rs.absolute(r+ 1);
returnrs.getObject(c + 1);
}catch(SQLException e) {
e.printStackTrace();
returnnull;
}
}
private ResultSet rs = null;
private ResultSetMetaData rsmd = null;
private String[] columnNames = null;
}
不带参数使用默认值: createStatement()=
1.TYPE_FORWORD_ONLY,只可向前滚动;
2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。
详看API