如何更新JTable的单元格值?

时间:2016-04-04 14:52:15

标签: java mysql swing jdbc prepared-statement

我找到了一种最简单的方法,可以使用JTable轻松更新单元格中的数据。到目前为止,我正在尝试在选择现有记录后更新我的JTable的单元格值。我所做的是搜索部分名称的记录,之后我想编辑或更新我的鼠标指向的单元格中的值。我在Google上看到很多课程,但任何事情都没有给我一个明确的指导。 我的GUI下面的屏幕截图。 enter image description here enter image description here

SELECT代码

try (Connection myConn = DBUtil.connect();
            PreparedStatement myFirstPs = myConn.prepareStatement(searchSECTIONSETTINGS);)
           {
                 myFirstPs.setString(1, "%" +searchSection +"%");
            try (ResultSet myFirstRs = myFirstPs.executeQuery())
            {
                int resultCounter = 0;
                while (myFirstRs.next())
                {
                    String name = myFirstRs.getString(2);
                    sectionJTable.setModel(DbUtils.resultSetToTableModel(myFirstRs));
                    resultCounter++;
                }//end of loop myFirstRs (ResultSet)

                if (resultCounter > 0)//If exist
                {
                    JOptionPane.showMessageDialog(null, "Data Found");
                }
                else//If not exist
                    JOptionPane.showMessageDialog(null, "No Data Found");
            }//end of try myFirstRs (ResultSet)
       }//end of try myFirstPs (PreparedStatement)

更新代码

String updateSECTIONSLIST = "UPDATE allsections_list SET SECTION_NAME = ? WHERE SECTION_ID = ?";

    try (Connection myConn = DBUtil.connect();
         PreparedStatement myUpdatePs = myConn.prepareStatement(updateSECTIONSLIST);)
         {
             for (int i = 0; i < sectionJTable.getRowCount(); i++)
             {
                 String sectionName = sectionJTable.getValueAt(i, 1).toString();
             }
             myUpdatePs.executeUpdate();
             JOptionPane.showMessageDialog(null,"Record Update Successfully");
         } 
        catch (SQLException ex)
        {
            DBUtil.processException(ex);
        }

我该如何应用这种方法?截图如下。感谢任何帮助!。

enter image description here enter image description here

0 个答案:

没有答案