Java 如何更新我的JTable的单元格值?

Java 如何更新我的JTable的单元格值?,java,mysql,swing,jdbc,prepared-statement,Java,Mysql,Swing,Jdbc,Prepared Statement,我正在寻找一种最简单的方法,如何使用JTable轻松更新单元格中的数据。到目前为止,我正在尝试在选择现有记录后更新JTable的单元格值。我要做的是搜索节名的记录,然后我要编辑或更新鼠标指向的单元格中的值。我在谷歌上看到了很多教训,但任何东西都没有给我一个清晰的指导。 我的GUI下面的屏幕截图。 选择代码 try (Connection myConn = DBUtil.connect(); PreparedStatement myFirstPs = myConn.pre

我正在寻找一种最简单的方法,如何使用JTable轻松更新单元格中的数据。到目前为止,我正在尝试在选择现有记录后更新JTable的单元格值。我要做的是搜索节名的记录,然后我要编辑或更新鼠标指向的单元格中的值。我在谷歌上看到了很多教训,但任何东西都没有给我一个清晰的指导。 我的GUI下面的屏幕截图。

选择代码

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);
        }
String updateSECTIONSLIST=“UPDATE allsections\u list SET SECTION\u NAME=?WHERE SECTION\u ID=?”;
try(Connection myConn=DBUtil.connect();
PreparedStatement MyUpdateP=myConn.prepareStatement(updateSECTIONSLIST);)
{
对于(int i=0;i
我怎样才能用这种方法呢?下面是截图。如果有任何帮助,我都会感激的!谢谢


我认为你的问题不清楚。你想同时更新多个单元格吗?@ReşitDönük是的,就是这样。我想更新多个单元格。谢谢。通过扩展AbstractTableModel创建您自己的TableModel。因此,您可以通过getValueAt(int行,int列)访问每个单元格,并通过setValueAt(Object o,int行,int列)设置每个单元格的值。