У меня есть 3 таблицы (врач, медсестра, пациент), все они имеют разные идентификаторы начала, врачи идентифицируются с 101, медсестра - с 102, а пациент - с 200.
и я хочу изменить пароль в соответствии с их идентификатором.
в моем JFrame у меня есть 5 JComponents, 4 Jtextfields, 1 Jbutton
1 Jtextfields для идентификатора (имя: idField)
1 Jtextfields для текущего пароля (имя: currentPass)
2 поля Jtext для нового пароля (имя: newPass1, newPass2)
1 кнопка для действия (имя: кнопка изменения)
Я сделал 2 разных способа в своем коде, но оба не работали со мной.
Вы можете помочь мне с этой проблемой?
первый путь:
private void changeButtonActionPerformed(java.awt.event.ActionEvent evt) {
id=idField.getText();
newpass1=newPass1.getText();
newpass2=newPass2.getText();
try {
con = DriverManager.getConnection("jdbc:derby://localhost:1527/hj", "xxx", "xxx");
st = con.createStatement();
if (newpass1.equals(newpass2)){
ResultSet rs = st.executeQuery("update patient set patient_Password="+ newpass1 +" where patient_Id="+id+" and patient_Id like '200%'");
JOptionPane.showMessageDialog(this , "Successfully changed", "Patient password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
ResultSet rs1 = st.executeQuery("update Nurse set nurse_password="+ newpass1 +" where nurse_id="+id+" and nurse_id like '102%'");
JOptionPane.showMessageDialog(this , "Successfully changed", "Nurse password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
ResultSet rs2 = st.executeQuery("update doctor set doctor_password="+ newpass1 +" where doctor_id="+id+" and doctor_id like '101%'");
JOptionPane.showMessageDialog(this , "Successfully changed", "Doctor password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
} else
JOptionPane.showMessageDialog(this , "Not equal", "Your new passwords are not equal!! , try again",JOptionPane.ERROR_MESSAGE );
}catch (Exception x){
JOptionPane.showMessageDialog(this, x.getStackTrace());
}
}
второй способ:
private void changeButtonActionPerformed(java.awt.event.ActionEvent evt) {
id=idField.getText();
newpass1=newPass1.getText();
newpass2=newPass2.getText();
try {
con = DriverManager.getConnection("jdbc:derby://localhost:1527/hj", "xxx", "xxx");
st = con.createStatement();
if (newpass1.equals(newpass2)){
if (id.startsWith("200")){
ResultSet rs = st.executeQuery("update patient set patient_Password="+ newpass1 +" where patient_Id="+id+"");
JOptionPane.showMessageDialog(this , "Successfully changed", "Patient password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
}
else if (id.startsWith("102")){
ResultSet rs = st.executeQuery("update Nurse set nurse_password="+ newpass1 +" where nurse_id="+id+"");
JOptionPane.showMessageDialog(this , "Successfully changed", "Nurse password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
}
else if (id.startsWith("101")){
ResultSet rs = st.executeQuery("update doctor set doctor_password="+ newpass1 +" where doctor_id="+id+"");
JOptionPane.showMessageDialog(this , "Successfully changed", "Doctor password successfuly changed !",JOptionPane.PLAIN_MESSAGE);
}
} else
JOptionPane.showMessageDialog(this , "Not equal", "Your new passwords are not equal!! , try again",JOptionPane.ERROR_MESSAGE );
}catch (Exception x){
JOptionPane.showMessageDialog(this, x.getStackTrace());
}
}