【发布时间】:2022-01-03 12:33:49
【问题描述】:
当我使用 DefaultTableModel 从 CachedRowSet 填充 jTable 时,jtable 列的标题没有更新。所以我使用 jtable 属性手动完成了它。有没有其他方法可以自动从数据库中获取标题名称?
这是客户
public studentdetails()
{
initComponents();
try {
Interface b = (Interface) Naming.lookup("rmi://localhost:1099/Server");
DefaultTableModel tblModel =
(DefaultTableModel)studentdetailstable.getModel();
tblModel.setRowCount(0);
CachedRowSet studentdetails=b.getArray();
while(studentdetails.next())
{
Vector t = new Vector();
for(int i = 0; i <= studentdetails.getMaxRows(); i++)
{
t.add(studentdetails.getInt("id"));
t.add(studentdetails.getString("names"));
}
tblModel.addRow(t);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
实施
public CachedRowSet getArray() throws RemoteException {
try (Connection con = ConnectionProvider.getConnection();
Statement st = con.createStatement();
// ResultSet rs = st.executeQuery("select * from studentnames"))
ResultSet rs = st.executeQuery("select id, names from students")) {
RowSetFactory factory = RowSetProvider.newFactory();
CachedRowSet details= factory.createCachedRowSet();
fruitDetails.populate(rs);
return details;
}
catch (SQLException e) {
throw new RemoteException("Method 'getArray()' failed.", e);
}
【问题讨论】:
-
我修好了先生。我犯了小错误。不幸的是,我没有注意到这一点。有没有办法从数据库中自动更新 jtable 列标题?
-
先生,我没有正确理解。可以上传代码吗?那么,我就可以理解了。否则,没关系,先生。我将使用手动命名进行管理。我觉得这不是什么大问题。但是,如果我能自动完成,那就太好了。
-
因为这里没有更新它的代码。