说明:
1、ResultSet中getMetaData()方法:获取此 ResultSet
对象的列的编号、类型和属性。
2、接口 ResultSetMetaData:可用于获取关于ResultSet
对象中列的类型和属性信息的对象
常用方法:getCatalogName(int column);
getColumnClassName(int column)
getColumnCount();
ResultSetMetaData rsmd = rs.getMetaData(); 获取对象:
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
public class TableShow extends AbstractTableModel{
Vector<Vector> ROW;
Vector<String> COL;
ResultSet rs=null;
public void query(String sql,String paras[]){
//省略代码,,最终得到结果集rs
this.ROW=new Vector<Vector>();
this.COL=new Vector<String>();
try {
ResultSetMetaData rsmt=rs.getMetaData();
for(int i=0;i<rsmt.getColumnCount();i++){
this.COL.add(rsmt.getCatalogName(i));
}
while(rs.next()){
Vector<String> temp=new Vector<String>();
for(int i=0;i<rsmt.getColumnCount();i++){
temp.add(rs.getString(i+1));
}
this.ROW.add(temp);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public String getColumnName(int column){
return (String)this.COL.get(column);
}
public int getColumnCount() {
return this.COL.size();
}
public int getRowCount() {
return this.ROW.size();
}
public Object getValueAt(int arg0, int arg1) {
return (this.ROW.get(arg0)).get(arg1);
}
}
对以上代码的调用
TableShow ts=null;
JTable table=new JTable();
每次更新表格
ts=new TableShow();
table.setModel(ts);