首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTable不显示新插入的行/数据

JTable不显示新插入的行/数据
EN

Stack Overflow用户
提问于 2011-11-27 21:32:43
回答 2查看 831关注 0票数 2

我有一个JTable,我按如下方式填充该表:

代码语言:javascript
复制
jTable_Std_info.setModel(DBControler.getALLStudents());

下面是名为DBControler的类中的静态方法,它从数据库(Oracle)检索所有数据。

代码语言:javascript
复制
public static DefaultTableModel getALLStudents() throws SQLException, Exception {

    DefaultTableModel tableModel = new DefaultTableModel();
    Vector rows = new Vector();
    Vector columns = new Vector();

    try {
        conn = geConnection();
        cst = conn.prepareCall("{? = call std_getInfoFunc}");
        cst.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
        cst.execute();
        res = (ResultSet) cst.getObject(1);
        System.out.print(res);
        ResultSetMetaData rsm = res.getMetaData();

        for (int i = 1; i <= rsm.getColumnCount(); i++) {
            columns.addElement(rsm.getColumnName(i));
        }

        int row = 0;
        while (res.next()) {
            Vector vRow = new Vector(); //to store the current row
            //System.out.println("Row " +row+"\n");
            for (int i = 1; i <= rsm.getColumnCount(); i++) {
                String columnValue = res.getString(i);
                vRow.addElement(columnValue);
            }
            row += 1;
            rows.addElement(vRow);
        }
        tableModel.setDataVector(rows, columns);

    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        res.close();
        conn.close();
    }
    return tableModel;
}

到目前为止,一切都很好,但问题是,如果我在数据库中插入一个新记录,JTable就不会得到新插入的行/数据。为什么是这样,我怎样才能解决这个问题?

更新:--当我提交新插入时,它正在检索数据。所以每次更新时我都要提交吗?或者还有其他方法可以做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-27 22:03:01

我认为您正在寻找Oracle内置的数据库更改通知,不确定甲骨文在免费版本中是否可以访问,如果不是,那就算了,对于MySQL,JDBC有两三种相似的API

票数 3
EN

Stack Overflow用户

发布于 2011-11-27 21:44:32

但是问题是,如果我在数据库中插入一个新记录,JTable就不会得到新插入的行/数据。为什么会这样呢?

TableModel不知道何时更新数据库。

我怎样才能解决这个问题?

如果您的应用程序要将该行添加到数据库中,那么它还需要同时向TableModel添加一行。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8289240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档