def update_employee(self, emp: Employee): try: emp_result = self.fetch_employee_by_id(emp.emp_id) try: if emp.__eq__(emp_result): # print("Successfully Updated Employee- " + emp.emp_id + "\n") else: date_util = DateUtil() if date_util.check_date_of_birth(emp.dob): self.db.execute_dynamic_query( "update employee set fname = ?, lname =?, dob = ? , dept_id = ? where emp_id=?", emp.fname, emp.lname, emp.dob, emp.dept.dept_id, emp.emp_id) self.db.connection.commit() print("Successfully Updated Employee- " + emp.emp_id + "\n") else: print("Sorry!! Unable to update Employee- " + emp.emp_id + "\n") except AttributeError: if "fname" in str(sys.exc_info()[1]): print("First Name cannot be null") elif "lname" in str(sys.exc_info()[1]): print("Last Name cannot be null") elif "dob" in str(sys.exc_info()[1]): print("Date of birth is not in correct format") except ValueError: print(sys.exc_info()[1]) except: print("Unable to update employee Id - " + str(emp.emp_id) + ". Check employee Id.\n") print(sys.exc_info()) print("\n")