gpt4 book ai didi

java - 在我重新运行程序之前,ResultSet.updateRow() 更改不会反射(reflect)在 JTextFields 中

转载 作者:行者123 更新时间:2023-11-30 07:19:09 26 4
gpt4 key购买 nike

我正在关注this tutorial到目前为止这确实很有帮助。我正在制作一个 GUI 以在本地托管的 Java derby 数据库上执行 CRUD 操作。

这是我的问题:

  1. 我在 JTextFields 中输入新数据,然后按“更新”按钮
  2. 我将新的 JTextField 数据保存到本地字符串变量
  3. 我使用结果集对象 rs 通过 rs.updateRow() 将更改提交到数据库
  4. 这些更改是在数据库中进行的,但仅当我关闭并重新运行程序时才会显示在我的 JTextFields 中。

如何更新 JTextFields 以反射(reflect)新数据,而无需关闭并重新运行程序?

    private void btnUpdateRecordActionPerformed(java.awt.event.ActionEvent evt) {                                                
String customerID = textCustomerID.getText();
int newCustomerID = Integer.parseInt(customerID);
String name = textName.getText();
String address1 = textAddress1.getText();
String address2 = textAddress2.getText();
String phone = textPhone.getText();
String email = textEmail.getText();

try{
rs.updateInt("CUSTOMER_ID", newCustomerID);
rs.updateString("NAME", name);
rs.updateString("ADDRESSLINE1", address1);
rs.updateString("ADDRESSLINE2", address2);
rs.updateString("PHONE", phone);
rs.updateString("EMAIL", email);

rs.updateRow();

JOptionPane.showMessageDialog(this, "Updated");

} catch(SQLException err){
JOptionPane.showMessageDialog(this, err.getMessage());
}
}

最佳答案

ResultSet 接口(interface)还包含一个方法,如果 ResultSet 对更改敏感,则可以使用数据库更改来更新行。

rs.refreshRow();

refreshRow() --> 使用数据库中的最新值刷新该行的列值。

关于java - 在我重新运行程序之前,ResultSet.updateRow() 更改不会反射(reflect)在 JTextFields 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37887956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com