0
我已經創建了更改密碼的代碼,但它不起作用。這段代碼意味着使用Java表中的Java來更改用戶密碼。通過JDBC更改用戶密碼
private void btn_ModifierUserActionPerformed(java.awt.event.ActionEvent evt) {
try {
String uname = txt_userName.getText();
String upassword = txt_userPassword.getText();
String newassword = txt_usernewrPassword.getText();
String conNewpassword = txt_userconfirmerPassword.getText();
String grade = jCom_userGrade.getSelectedItem().toString();
byte[] img=null;`
String sql = "SELECT * FROM users where ID='"+txt_userID.getText()+"'";
pst=(PreparedStatement)conn.prepareStatement(sql);
rs=pst.executeQuery();
String passwd = rs.getString("password");
if(rs.next()){
if(!uname.equals("")){
if (upassword.equals(passwd)) {
//JOptionPane.showMessageDialog(null, usrname);
if (newassword.equals(conNewpassword)) {
if(!newassword.equals("") && !conNewpassword.equals("")){
String sqlup="UPDATE users SET userName='"+uname+"',password='"+newassword+"',Grade='"+grade+"',image='"+img+"' where ID'"+txt_userID.getText()+"'";
pst=(PreparedStatement) conn.prepareStatement(sqlup);
pst.execute();
JOptionPane.showMessageDialog(null, "mise à jour réussie");
}else{
JOptionPane.showMessageDialog(null, "S'IL VOUS PLAÎT ENTRER LES INFORMATIONS");
}
} else {
JOptionPane.showMessageDialog(null, "S'IL VOUS PLAÎT CONFIRMER MOT DE PASSE");
}
}else{
JOptionPane.showMessageDialog(null, "S'IL VOUS PLAÎT ENTRER LE MOT DE PASSE");
}
}else{
JOptionPane.showMessageDialog(null, "S'IL VOUS PLAÎT ENTRER LE NOM D'UTILISATEUR");
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
請顯示ENTIRE異常堆棧。你的消息毫無幫助。 – OldProgrammer
你沒有關閉你的結果集。 – ra2085
你不需要SELECT。只需編寫UPDATE語句以包含對舊密碼值的測試,並檢查是否有更新的行。當然,你應該哈希密碼。 – EJP