單擊“添加”按鈕時(shí),我想從我的 MS Access 數(shù)據(jù)庫表中添加所有數(shù)據(jù)。但是當(dāng)我點(diǎn)擊添加按鈕時(shí),它只顯示表格中的第一條記錄。請(qǐng)任何人都可以幫助我如何解決這個(gè)問題。當(dāng)我點(diǎn)擊添加按鈕時(shí)它工作正常沒有顯示任何錯(cuò)誤但它在 JTable 中只顯示一條記錄我想顯示來自 MS 訪問數(shù)據(jù)庫的所有記錄。 import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import java.sql.*; public class JTableRow {public static void main(String[] args){ // create JFrame and JTable JFrame frame = new JFrame(); final JTable table = new JTable(); Object[] columns = {"Id","Doctor Name","Specialization","Visit Day"}; final DefaultTableModel model = new DefaultTableModel(); model.setColumnIdentifiers(columns); table.setModel(model); table.setBackground(Color.LIGHT_GRAY); table.setForeground(Color.black); Font font = new Font("",1,22); table.setFont(font); table.setRowHeight(30); JButton btnAdd = new JButton("Add"); btnAdd.setBounds(150, 220, 100, 25); // create JScrollPane JScrollPane pane = new JScrollPane(table); pane.setBounds(0, 0, 880, 200); frame.setLayout(null); frame.add(pane); frame.add(btnAdd); final Object[] row = new Object[4]; btnAdd.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:employeedsn"; Connection con=DriverManager.getConnection(url); Statement s = con.createStatement(); } con.close(); } catch(Exception sqlEx) { System.out.println(sqlEx); } } });
1 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
在 model.addRow(row) 之后有一個(gè) break 語句:
// add row to the model
model.addRow(row);
break; // breaks out of the while() { } loop.
Break 將退出當(dāng)前代碼塊(如果嵌套在多個(gè) fors/whiles/dos 中則更多)。這意味著它在執(zhí)行一次后完全停止并跳出 while 循環(huán)。刪除中斷;行并讓它運(yùn)行不止一次
添加回答
舉報(bào)
0/150
提交
取消