Java SQL数据和JTable

Java SQL数据和JTable,java,sql,swing,Java,Sql,Swing,我正在尝试一个示例程序进行实践,我想在JTable中显示数据库的结果。问题是我不知道怎么做。我知道如何从数据库中获取数据并将其显示在文本字段或控制台上,但从未尝试使用JTable。怎么做 假设我有一个表,它包含诸如人名、年龄、城市和日期之类的信息。我希望它通过JTable显示。如果我添加了在程序中添加更多细节的选项(我的意思是向数据库中添加条目,然后在JTable中立即显示),是否可以更新JTable显示 如有任何关于如何进行的建议和建议,我们将不胜感激。提前谢谢 JDBC+JTable@goo

我正在尝试一个示例程序进行实践,我想在JTable中显示数据库的结果。问题是我不知道怎么做。我知道如何从数据库中获取数据并将其显示在文本字段或控制台上,但从未尝试使用JTable。怎么做

假设我有一个表,它包含诸如人名、年龄、城市和日期之类的信息。我希望它通过JTable显示。如果我添加了在程序中添加更多细节的选项(我的意思是向数据库中添加条目,然后在JTable中立即显示),是否可以更新JTable显示


如有任何关于如何进行的建议和建议,我们将不胜感激。提前谢谢

JDBC+JTable@google:

    • 以下是代码

      public static TableModel resultSetToTableModel(ResultSet rs) {
      try {
          ResultSetMetaData metaData = rs.getMetaData();
          int numberOfColumns = metaData.getColumnCount();
          Vector<String> columnNames = new Vector<String>();
      
          // Get the column names
          for (int column = 0; column < numberOfColumns; column++) {
      
      
          columnNames.addElement(metaData.getColumnLabel(column + 1).toUpperCase());
          }
      
          // Get all rows.
          Vector<Vector<Object>> rows = new Vector<Vector<Object>>();
      
          while (rs.next()) {
          Vector<Object> newRow = new Vector<Object>();
      
          for (int i = 1; i <= numberOfColumns; i++) {
              newRow.addElement(rs.getObject(i));
          }
      
          rows.addElement(newRow);
          }
      
          return new DefaultTableModel(rows, columnNames);
      } 
      catch (Exception e)
      {
          e.printStackTrace();
      
          return null;
      }
      

      }

      和Ok一样,我能理解它可能是重复的。但我问的是如何将结果从SQL表显示到JTable,它仍然是重复的?好的。这是有帮助的,但不能完全回答我的问题。无论如何,谢谢你的评论。
      void update_Table() throws ParseException 
          {
              // we used this try catch so that values in table  automatically show(without clicking on any button) when the dialog box open          
                          try
                          {
                         Connection con=MSUTIL.getMSConnection();
                          PreparedStatement  pst=con.prepareStatement("select  payment_mode from PaymentMode");   
                       ResultSet  rs=pst.executeQuery();
                         //here i call that method
                          table.setModel(resultSetToTableModel(rs));
                          table.getTableHeader().setFont(new Font("SansSerif", Font.BOLD, 14));
                          while(rs.next())
                          {
                                  mp.paymentmode_ComboBox.addItem(rs.getString("payment_mode"));
                          }
      
                         }
                          catch(SQLException e)
                          {
                              e.printStackTrace();
                          }
                          finally
                          {
                             //this method is for closing the connection
                              MSUTIL.cleanUp(con, pst, rs);
                          }