小编典典

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

java

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,我在Internet上找到了它,这不是我的,并且可以正常工作。但是现在我不知道如何向JTable和数据库中添加行,我发现了很多网站,但没有用(PreparedStatement,executeUpdate
…)。有人可以帮助我吗,因为我刚刚学过。谢谢 !


阅读 205

收藏
2020-11-30

共1个答案

小编典典

那是一个不好的例子:

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

相反,请检查“ 从数据库表”中Table From Database Example找到的代码。本示例使用的Vector将根据ResultSet中找到的行数而增长。

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

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

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

2020-11-30