簡體   English   中英

在Java中將數據從數據庫檢索到JTable

[英]Retrieving Data from database to JTable in java

我想從數據庫中獲取一些數據並將其顯示在JTable 但是此代碼無法正常工作-它已成功編譯,但未提供任何輸出。 可能是什么問題? 我是Java的新手,所以請詳細解釋。

try
{
    DefaultTableModel dtm=new DefaultTableModel();
    dtm.addColumn("RegNo");
    dtm.addColumn("Student Name");
    dtm.addColumn("Group Name");
    dtm.addColumn("College");
    dtm.addColumn("Phone No");
    dtm.addColumn("Events");
    dtm.addColumn("Event Category");
    dtm.addColumn("Amounts");
    String str="select * from robomaze;";
    ResultSet rs=DBConnect.st.executeQuery(str);
    int r=0,c=0;
    while(rs.next())
    {
        Class cTypes[]= {String.class,String.class,String.class,String.class,BigInteger.class,String.class,String.class,Integer.class};
        dtm.addRow(cTypes);
        c=0;
       dtm.setValueAt(rs.getInt(1), r, c);
         c++;
          dtm.setValueAt(rs.getInt(2), r, c);
         c++;
          dtm.setValueAt(rs.getInt(3), r, c);
          c++;
          dtm.setValueAt(rs.getInt(4), r, c);
          c++;
          dtm.setValueAt(rs.getInt(5), r, c);
          c++;
          dtm.setValueAt(rs.getInt(6), r, c);
          c++;
          dtm.setValueAt(rs.getInt(7), r, c);
          c++;
          dtm.setValueAt(rs.getInt(8), r, c);
          r++;
    }
    jtable1.setModel(dtm);
    DBConnect.con.close();

}catch(Exception en)
{
    JOptionPane.showMessageDialog(rootPane, en);
}

鑒於...

dtm.addColumn("RegNo");
dtm.addColumn("Student Name");
dtm.addColumn("Group Name");
dtm.addColumn("College");
dtm.addColumn("Phone No");
dtm.addColumn("Events");
dtm.addColumn("Event Category");
dtm.addColumn("Amounts");

和...

Class cTypes[]= {String.class,String.class,String.class,String.class,BigInteger.class,String.class,String.class,Integer.class};

對每個列值使用getInt不太可能起作用,相反,您可能需要使用更多類似的內容...

while (rs.next()) {
    Object[] rowData = new Object[8];
    rowData[0] = rs.getString(1);
    rowData[1] = rs.getString(2);
    rowData[2] = rs.getString(3);
    rowData[3] = rs.getString(4);
    rowData[4] = rs.getInt(5);
    rowData[5] = rs.getString(6);
    rowData[6] = rs.getString(7);
    rowData[7] = rs.getInt(8);
    dtm.addRow(rowData);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM