由一個JFrame形式更新MySQL數據庫而刷新殲表JFrame窗體
我以上形式開發上,以更新MySQL數據庫表「employeeinfo」。表格還顯示了一個J表,其中包含數據庫表'employeeinfo'中的當前數據。
我編碼選擇J表格行,並獲得表格中的相關文本字段。
但是,我在與通過編輯挑選的員工更新MySQL數據庫的麻煩.... **當我編輯的文本字段和命中更新,數據庫或JTable沒有更新**
數據庫不更新和J表不刷新..(可能是因爲數據庫表未更新)
更新按鈕ActionPerformed;
private void update_btnActionPerformed(java.awt.event.ActionEvent evt) {
try{
String val1 =txt_id.getText();
String val2 =txt_name.getText();
String val3 =txt_sname.getText();
String val4 =((JTextField)bday_chooser.getDateEditor().getUiComponent()).getText();
String val5 =((JTextField)wday_chooser.getDateEditor().getUiComponent()).getText();
String sql = "update employeeinfo set EmployeeID='"+val1+"',Name='"+val2+"',Surname='"+val3+"', BirthDate='"+val4+"',WorkStartedDate='"+val5+"' where EmployeeID='"+val1+"' ";
pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "User Data Updated...");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
updateTable();
}
updateTable方法;
private void updateTable(){
try {
String sql = "SELECT * FROM employeeinfo";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
table_empinfo.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error : "+ex);
}
}
我改變了編碼如下;然後它的工作; 定義的變量:String tableClick = (table_empinfo.getModel().getValueAt(row,0).toString());
和String sql = "update employeeinfo set EmployeeID='"+val1+"',Name='"+val2+"',Surname='"+val3+"', BirthDate='"+val4+"',WorkStartedDate='"+val5+"' where EmployeeID='"+tableClick+"' ";
爲了更好地幫助越早,張貼[MCVE](http://stackoverflow.com/help/mcve)(最小完備可驗證實施例)或[SSCCE](http://www.sscce.org/ )(簡短,獨立,正確的例子)。硬編碼一些數據來替換數據庫。 –