📄 jtabledataset.java
字号:
package jwin;
import java.sql.*;
import javax.swing.table.AbstractTableModel;
public class JTableDataSet extends AbstractTableModel {
ResultSet rs;
Object[][] values;
String[] columnNames;
int columnCount =-1;
int rowCount = -1;
public JTableDataSet(String selectsql, Connection connection) {
Statement stmt;
try {
stmt = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(selectsql);
rs.last();
rowCount = rs.getRow();
columnCount = rs.getMetaData().getColumnCount();
rs.beforeFirst();
values = new Object[rowCount][columnCount];
columnNames = new String[columnCount];
while(rs.next()) {
for (int j = 1; j <= columnCount; j++) {
//System.out.println("当前记录:"+rs.getRow());
values[rs.getRow()-1][j-1] =rs.getObject(j);
columnNames[j-1] = rs.getMetaData().getColumnName(j);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
rs = null;
values = null;
columnNames = null;
}
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
int i = -1;
if (rs != null) {
try {
i = rs.getMetaData().getColumnCount();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return i;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
int i = -1;
if (rs != null) {
try {
rs.last();
i = rs.getRow();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return i;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return values[rowIndex][columnIndex];
}
public String getColumnName(int column) {
return columnNames[column];
}
public ResultSet getRs() {
return rs;
}
public void setRs(ResultSet rs) {
this.rs = rs;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -