我正在尝试使用 Java JDBC 更新我的表。但我不知道如何使用准备好的语句调用我的主键。我尝试做一个USER_ID
我的数据库列的对象,但不知道从哪里开始。我如何确定我是否已经更新了数据库?
代码
String updateEmployee = employeeTf.getText();
String updateDepartment = departmentTf.getText();
if(updateEmployee.isEmpty() && updateDepartment.isEmpty()){
JOptionPane.showMessageDialog(null, "You didn't update it");
}
else if(updateEmployee.isEmpty()){
JOptionPane.showMessageDialog(null, "Please update your name");
}
else if(updateDepartment.isEmpty()){
JOptionPane.showMessageDialog(null, "Please update your department");
}
else{
String updateQuery = "UPDATE SAMPLE SET EMPLOYEENAME = ?, DEPARTMENT = ? WHERE USER_ID = ?";
try(Connection con = DBUtilities.getConnection(DBType.JDBC);
PreparedStatement myPs = con.prepareStatement(updateQuery);){
myPs.setString(1, employeeTf.getText());
myPs.setString(2, departmentTf.getText());
myPs.setInt(3, "WHAT GOES HERE");
//Execute insert SQL Statement
myPs.executeUpdate();
System.out.print("Updated");
} catch (SQLException ex) {
DBUtilities.processException(ex);
}
}
最佳答案
如果您正在进行更新,则该记录必须已存在于您的表中。 大致您的应用程序需要以下过程:
- 从数据库中读取记录
- 将记录中的数据放入 GUI 控件中,并将 ID 值保留在某处。
- 现在,用户点击“保存”:您可以将 GUI 控件中的值传输到PreparedStatement 中,并使用第 2 步中的 ID 来构建 where 参数。
- 提交。
如果您想创建新记录,请跳过步骤 1,因此没有 ID 值。 然后,您将需要执行插入,而不是在步骤 3 中执行更新。
关于java - 如何获取主键来执行更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757149/