它不会添加数据,列名有效,我已经筋疲力尽了,我不知道从这里去哪里。没有错误消息只是不会这样做,它显示对象而不是字符串我也不知道为什么它不会工作,因为 model.addRow() 要求一个对象 [][] 我相信我交付了?
initComponents();
try {
PreparedStatement stat = Domein.dConnection().prepareStatement("SELECT domainid , domain FROM nabilpx84_hamchi.dnsp_domains");
ResultSet resultaat = stat.executeQuery();
ResultSetMetaData naam = resultaat.getMetaData();
Object[] kolommen = new Object[2];
Object[][] data = null ;
DefaultTableModel model = new DefaultTableModel(null,data);
// kolom namen
for (int i = 1; i <= naam.getColumnCount(); ++i) {
model.addColumn(naam.getColumnName(i));
}
//records
data = new Object[1][2];
while(resultaat.next())
{
data[0][0] = resultaat.getInt(1);
data[0][1] = resultaat.getString(2);
if(resultaat.isFirst())
{
model.addRow(data);
}
}
uitvoerTabel.setModel(model);
} catch (SQLException ex) {
Logger.getLogger(Domein.class.getName()).log(Level.SEVERE, null, ex);
}
最佳答案
你可以尝试这样的事情:
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
DefaultTableModel model = new DefaultTableModel(data, columnNames);
另一方面,服务层可以帮助您在 Swing 应用程序中分离或拥有一个或多个存储库的服务外观。
关于java - 结果集中的基本编程 JTable 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14989786/