我有一个JFrame,我有一个JTable,它是从mysl数据库填充的。每当我点击一行时,来自该特定行的数据就会被发送到JTextField。
代码是这样的:
private void table3MouseClicked(java.awt.event.MouseEvent evt) {
try {
int selectedRow = table3.getSelectedRow();
String Mouse_Click = table3.getValueAt(selectedRow, 0).toString();
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/LogParser", "Hory Hene", "umobitelco");
String sql = "Select * from TraceCodes where Trace_ID='" + Mouse_Click + "'";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
String AddTrace = rs.getString("Trace_Code");
TraceCTextF.setText(AddTrace);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
然后我想通过单击“更新”按钮从TextField更新该数据。我的程序也这样做:
private void EventUpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
int selectedRow = table.getSelectedRow();
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/LogParser", "Hory Hene", "umobitelco");
String sqlStatement = " Update EventNames set Event_Name = ? where Event_ID = ? ";
String EventUpdate = EventTextF.getText();
PreparedStatement updateQuery = conn.prepareStatement(sqlStatement);
updateQuery.setString(1, EventUpdate);
updateQuery.setInt(2, selectedRow + 1);
updateQuery.executeUpdate();
EventTextF.setText("");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
我的问题是,在我进行更新之后,如果我点击JTable中的一列,我的JTextField就不会再填充数据了。
因此,如果我想从表中更新第二个字段,我必须关闭框架并重新开始..有人可以帮助我吗?
提前致谢