def crear_socio_sin_id(self): """ Crea un socio sin especificar su numero de ID :return: Un objeto socio con los datos ingresados. """ dni = input("Ingrese dni del socio: ") nombre = input("Ingrese nombre del socio: ") apellido = input("Ingrese apellido del socio: ") return Socio(dni, nombre, apellido)
def crear_socio_con_id(self): """ Crea un socio especificando su numero de ID :return: Un objeto socio con los datos ingresados. """ id = input("Ingrese la ID del socio a modificar: ") dni = input("Ingrese dni del socio: ") nombre = input("Ingrese nombre del socio: ") apellido = input("Ingrese apellido del socio: ") return Socio(dni, nombre, apellido, id)
def ultimo(self): """ Muestra en pantalla el socio con el mayor id. """ consulta = "select * from socios order by idsocio desc limit 1" try: datos = AccesoDatos() cur = datos.conectar() cur.execute(consulta) d = cur.fetchone() socio = Socio(d[1], d[2], d[3], d[0]) datos.desconectar() except OperationalError as e: raise Exception("ERROR FATAL") except Exception as a: raise Exception("Error al conectar a la base de datos") print("ID : ", socio.id, "\nNombre: ", socio.nombre, "\nApellido: ", socio.apellido, "\nDNI: ", socio.dni)
def buscar_por_id(self, idSocio): """ Busca un socio en la base de datos. :param idSocio: Numero de ID del socio a buscar. :return: El socio si es encontrado, None si no lo encuentra. """ consulta = "SELECT * FROM socios WHERE idsocio = %s" try: datos = AccesoDatos() cur = datos.conectar() cur.execute(consulta, (idSocio)) d = cur.fetchone() encontrado = Socio(d[1], d[2], d[3], d[0]) datos.desconectar() except OperationalError as e: raise Exception("ERROR FATAL") except Exception as a: raise Exception("Error al conectar a la base de datos") return encontrado
def buscar_todos(self): """ Busca todos los socios y su informacion de la base de datos. :return: Una lista con todos los objetos Socio obtenidos. """ consulta = "SELECT * FROM socios" encontrados = [] try: datos = AccesoDatos() cur = datos.conectar() cur.execute(consulta) data = cur.fetchall() for d in data: encontrados.append(Socio(d[1], d[2], d[3], d[0])) datos.desconectar() except OperationalError as e: raise Exception("ERROR FATAL") except Exception as a: raise Exception("Error al conectar a la base de datos") return encontrados
def anterior(self, id): """ Dada una id de socio, obtiene el socio con la id anterior. :param id: El numero de ID del socio a buscar. """ consulta = "select * from socios m " \ "where m.idsocio = (select min(idsocio) from socios s " \ "where s.idsocio < %s);" try: datos = AccesoDatos() cur = datos.conectar() cur.execute(consulta, (id)) d = cur.fetchone() socio = Socio(d[1], d[2], d[3], d[0]) datos.desconectar() except OperationalError as e: raise Exception("ERROR FATAL") except Exception as a: raise Exception("Error al conectar a la base de datos") print("ID : ", socio.id, "\nNombre: ", socio.nombre, "\nApellido: ", socio.apellido, "\nDNI: ", socio.dni)