Насколько позитивно вы работаете с доктором, у которого regNo = '002'? Вы выполнили оператор SELECT, чтобы убедиться, что '002' существует?
Если вы успешно выполнили свой код и он обновился до '001', это показывает, что ваш синтаксис точен.
IЯ также реорганизовал бы немного и жесткий код таблицы доктора:
public boolean userDataChangeSave(String nic,String dob,String name,String address,String mobile,String email,String regNo) throws SQLException {
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/easymedi","root","password");
String query="update doctor set nic=?,dob=?,name=?,address=?,mobile=?,email=? where regNo=?";
//String q2="update doctor set nic='blah',name='blahblah' where regNo='002'";
PreparedStatement ps=conn.prepareStatement(query);
ps.setString(1,nic);
ps.setDate(2,Date.valueOf(dob));
ps.setString(3,name);
ps.setString(4,address);
ps.setString(5,mobile);
ps.setString(6,email);
ps.setString(7,regNo);
return ps.executeUpdate() == 1;
}