在JTable和数据库(phpMyAdmin)中添加一行?

initComponents(); try { ResultSet res = statement.executeQuery("SELECT * FROM banh"); ResultSetMetaData RSMD = res.getMetaData(); NumberOfColumns = RSMD.getColumnCount(); AttributeNames = new String[NumberOfColumns]; for(int i=0;i<NumberOfColumns;i++) AttributeNames[i]=RSMD.getColumnName(i+1); MyArray=new Object[10000][NumberOfColumns]; int R=0; while(res.next()) { for(int C=1; C<=NumberOfColumns;C++) MyArray[R][C-1]=res.getObject(C); R++; } res.close(); NumberOfRows=R; Object[][] TempArray=MyArray; MyArray=new Object[NumberOfRows][NumberOfColumns]; for(R=0;R<NumberOfRows;R++) for(int C=0;C<NumberOfColumns;C++) MyArray[R][C]=TempArray[R][C]; TableData.setModel(new MyTableModel()); TableData.setVisible(true); } catch(Exception e) { e.printStackTrace(); } public void initComponents() { model = new DefaultTableModel (new Object [][] { {null}, {null}, {null}, {null} }, new String [] {""} ) { Class[] types = new Class [] {java.lang.Object.class}; boolean[]canEdit=new boolean[]{false}; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }; TableData.setModel(model); JScrollPane ScrollPane1 = new JScrollPane(TableData); ScrollPane1.setBounds(30,170,950,290); Frame.add(ScrollPane1,BorderLayout.CENTER); } 

我通过这种方式向JTable显示我的数据库,我在互联网上发现它,它不是我的,它的工作。 但是现在我不知道如何向JTable和数据库添加行,我发现很多网站但没有用(PreparedStatement,executeUpdate …)。 任何人都可以帮助我,因为我刚学会了。 谢谢 !

这是一个很糟糕的例子:

  1. 变量名称不应以大写字符开头。
  2. 硬编码数组大小以支持10,000行是错误的方法。 您还可以使用动态的Vector。

而是查看Table From Database ExampleTable From Database Example代码。 此示例使用的Vector将根据ResultSet中找到的行数增长。

我不知道如何向JTable和数据库添加行

  1. 您可以使用DefaultTableModeladdRow(...)方法动态添加数据。 阅读API或在论坛/网站上搜索使用addRow(…)方法的示例。

  2. 对于数据库插入,您可以从JDBC Database Access教程开始。