【发布时间】:2021-03-11 05:07:23
【问题描述】:
我正在编写一个代码,如果按下 jButton1,它应该更新数据库中的密码,但它会抛出错误 JavaSQLException: No value specified for parameter 1。我没有得到我没有指定的参数。任何帮助将不胜感激。这是代码
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String v0 = lbl_emp.getText();
int x = JOptionPane.showConfirmDialog(null, "Are you sure you want to change your password?", "Update Record", JOptionPane.YES_NO_OPTION);
if(x == 0){
try{
String v1 = txt_password.getText();
String v2 =(cmb_question.getSelectedItem().toString());
String v3 = txt_answer.getText();
String sql = "update users set password = '"+v1+"' , secret_question = '"+v2+"', answer = '"+v3+"' where id = '"+v0+"'";
if(txt_password.getText().isEmpty()){
JOptionPane.showMessageDialog(txt_password, "Password field is empty");
}
else{
pst = conn.prepareStatement(sql);
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Password updated");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
}
【问题讨论】:
-
txt_password是 JPasswordField 组件吗?如果是,则不能使用:txt_password.getText()。应该是:String v0 = String.valueOf(txt_password.getPassword());. -
谢谢@DevilsHnd,我已经改好了
标签: java mysql sql sqlexception