Java JTable未在数据库中显示添加的条目

Java JTable未在数据库中显示添加的条目,java,swing,jtable,Java,Swing,Jtable,我在学校为我们的项目创建了一个库存系统,但我偶然发现了一个问题,我有两个表单,当我在第一个表单mainform中单击add按钮时,一个新表单将显示addjframe表单,然后我将条目放入,但当我在addjframe表单中单击add按钮时,数据在我的ms access数据库中,但是我的jtable是空的 我试着让我的表是静态的,这样就可以在我的第二个表单中调用它 这是主窗体上我的表格的代码 public static void AddRowToJTable(Object[] dataRow

我在学校为我们的项目创建了一个库存系统,但我偶然发现了一个问题,我有两个表单,当我在第一个表单mainform中单击add按钮时,一个新表单将显示addjframe表单,然后我将条目放入,但当我在addjframe表单中单击add按钮时,数据在我的ms access数据库中,但是我的jtable是空的

我试着让我的表是静态的,这样就可以在我的第二个表单中调用它

这是主窗体上我的表格的代码

    public static void AddRowToJTable(Object[] dataRow)
    {
    DefaultTableModel dtm ;
    dtm= (DefaultTableModel)jTable1.getModel();
    dtm.addRow(dataRow);
    dtm.setRowCount(0);

    }
这是Addjframe表单/第二个表单上我的add按钮的代码

   private void btnaddActionPerformed(java.awt.event.ActionEvent evt) {                                       
   String title = txttitle.getText();
   String author = txtauthor.getText();
   String date = txtdate.getText();
   String genre = txtgenre.getText();

   try {
        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
        Connection con = DriverManager.getConnection("jdbc:ucanaccess://D:/elibrary1.accdb");
        Statement st = con.createStatement();
        st.execute("INSERT INTO libtable(Title,Author,Dateadded,Genre) VALUES ('"+title+"','"+author+"','"+date+"','"+genre+"')");
        String sql = "Select * from libtable";
        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {
            mainform.AddRowToJTable(new Object[]{rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4)});
        }
    }


    catch (Exception e) {
        System.out.print(e.getMessage());


    }


}        
它应该在我的jtable上显示条目我不知道我的代码出了什么问题,我已经在这上面呆了好几天了,我没有收到任何错误消息,因为条目被放在我的ms access数据库中,只是它没有显示在我的jtable上

任何帮助都将不胜感激

这是我的第一个表单。当我在第二个表单上单击“添加”时,表中没有显示任何内容

这是我在数据库中添加数据的第二个表单

这是我的ms access数据库,在底部显示了我最近输入的数据


从您的评论中可以看出,查询返回为空白。尝试将
rs
的内容写入控制台,以便验证是否存在结果
System.out.println(rs.getString(1)+“,”+.getString(2))
。感谢您的回复,哪个控制台?非常抱歉,我不熟悉java控制台数据库,也就是您看到错误的地方。这将显示在您用来编写java代码的任何程序中,或者如果您使用终端,它将显示在终端窗口中。只需添加
System.out.println(rs.getString(1)+“,”+.getString(2))在您的
while中(rs.next()){
语句。谢谢!数据显示在我的控制台上,对下一步做什么有什么建议吗?为了更快地获得更好的帮助,请添加或.Hard code数据来替换数据库。从您的注释可以看出查询返回为空。请尝试将
rs
的内容写入控制台,以便验证e是一个结果
System.out.println(rs.getString(1)+“,”+.getString(2))
。感谢您的回复,什么控制台?非常抱歉,我不熟悉java控制台的数据库,也就是您看到错误的地方。这将显示在您用来编写java代码的任何程序中,或者如果您使用终端,它将显示在终端窗口中。只需添加
System.out.println(rs.getString(1)+“,”+.getString(2));
while(rs.next()){
语句中。感谢它的工作!数据显示在我的控制台上,是否有关于下一步操作的建议?为了更快地获得更好的帮助,请添加或.Hard code数据以替换数据库。