DI_U3.Conexion_BBDD.connectionBBDD

  1import sqlite3
  2
  3class Connectionbd:
  4    """
  5    Clase que conecta la base de datos con la aplicación
  6    """
  7
  8    def __init__ (self,reservasEnHotel):
  9
 10        self.reservasEnHotel=reservasEnHotel
 11
 12    def conectar(self):
 13        try:
 14            conn=sqlite3.connect(self.reservasEnHotel)
 15            return conn
 16        
 17        except sqlite3.Error as e:
 18            print(f"Error al conectar con la BBDD: {e}")
 19            return None
 20        
 21    def get_reservasSalon(self,tipoSalon):
 22        conn=self.conectar()
 23        if not conn:
 24            print("No se pudo conectar a la base de datos.")
 25            return []
 26        
 27        try:
 28            cursor=conn.cursor()
 29            query="""
 30            SELECT 
 31                r.reserva_id,
 32                r.fecha, 
 33                r.persona AS cliente, 
 34                r.telefono AS telefono, 
 35                tr.nombre AS tipo_reserva
 36                
 37            FROM 
 38                reservas r
 39            JOIN 
 40                tipos_reservas tr ON r.tipo_reserva_id=tr.tipo_reserva_id
 41            
 42            JOIN 
 43                salones s ON r.salon_id = s.salon_id
 44            WHERE 
 45                s.nombre = ?
 46
 47            ORDER BY r.fecha DESC;
 48
 49            """
 50
 51            print(f"Ejecutando consulta para el salón: {tipoSalon}")
 52
 53            cursor.execute(query,(tipoSalon,))
 54            resultado=cursor.fetchall()
 55            print(f"Resultado de la consulta: {resultado}")
 56            return resultado
 57        
 58        except sqlite3.Error as e:
 59            print(f"Error al consultar las reservas: {e}")
 60            return []
 61        
 62        finally:
 63            conn.close()
 64
 65    def get_salones(self):
 66        conn = self.conectar()
 67        if not conn:
 68            print("No se pudo conectar a la base de datos.")
 69            return []
 70    
 71        try:
 72            cursor = conn.cursor()
 73            query = """
 74            SELECT salon_id, nombre
 75            FROM salones
 76            ORDER BY nombre;
 77            """
 78            cursor.execute(query)
 79            resultado = cursor.fetchall()
 80            return resultado
 81    
 82        except sqlite3.Error as e:
 83            print(f"Error al consultar los salones: {e}")
 84            return []
 85    
 86        finally:
 87            conn.close()
 88
 89    def modificar_reserva(self, reserva_id, persona,telefono,fecha,salon_id, tipo_reserva_id,tipo_cocina_id, ocupacion, jornadas,habitaciones):
 90        conn=self.conectar()
 91        if not conn:
 92            print ("No se puede conectar a la BBDD")
 93            return False
 94        
 95        try:
 96            cursor=conn.cursor()
 97            query = """
 98            UPDATE reservas
 99            SET persona = ?, telefono = ?, fecha = ?, salon_id = ?, tipo_reserva_id = ?, tipo_cocina_id = ?, ocupacion = ?, jornadas = ?, habitaciones = ?
100            WHERE reserva_id = ?
101            """
102            cursor.execute(query, (persona, telefono, fecha, salon_id, tipo_reserva_id, tipo_cocina_id, ocupacion, jornadas, habitaciones, reserva_id))
103            conn.commit()
104        
105            if cursor.rowcount > 0:
106                print(f"Reserva con ID {reserva_id} modificada correctamente.")
107                return True
108            else:
109                print(f"No se encontró la reserva con ID {reserva_id}.")
110                return False
111        except sqlite3.Error as e:
112            print(f"Error al modificar la reserva: {e}")
113            return False
114        finally:
115            conn.close()
class Connectionbd:
  4class Connectionbd:
  5    """
  6    Clase que conecta la base de datos con la aplicación
  7    """
  8
  9    def __init__ (self,reservasEnHotel):
 10
 11        self.reservasEnHotel=reservasEnHotel
 12
 13    def conectar(self):
 14        try:
 15            conn=sqlite3.connect(self.reservasEnHotel)
 16            return conn
 17        
 18        except sqlite3.Error as e:
 19            print(f"Error al conectar con la BBDD: {e}")
 20            return None
 21        
 22    def get_reservasSalon(self,tipoSalon):
 23        conn=self.conectar()
 24        if not conn:
 25            print("No se pudo conectar a la base de datos.")
 26            return []
 27        
 28        try:
 29            cursor=conn.cursor()
 30            query="""
 31            SELECT 
 32                r.reserva_id,
 33                r.fecha, 
 34                r.persona AS cliente, 
 35                r.telefono AS telefono, 
 36                tr.nombre AS tipo_reserva
 37                
 38            FROM 
 39                reservas r
 40            JOIN 
 41                tipos_reservas tr ON r.tipo_reserva_id=tr.tipo_reserva_id
 42            
 43            JOIN 
 44                salones s ON r.salon_id = s.salon_id
 45            WHERE 
 46                s.nombre = ?
 47
 48            ORDER BY r.fecha DESC;
 49
 50            """
 51
 52            print(f"Ejecutando consulta para el salón: {tipoSalon}")
 53
 54            cursor.execute(query,(tipoSalon,))
 55            resultado=cursor.fetchall()
 56            print(f"Resultado de la consulta: {resultado}")
 57            return resultado
 58        
 59        except sqlite3.Error as e:
 60            print(f"Error al consultar las reservas: {e}")
 61            return []
 62        
 63        finally:
 64            conn.close()
 65
 66    def get_salones(self):
 67        conn = self.conectar()
 68        if not conn:
 69            print("No se pudo conectar a la base de datos.")
 70            return []
 71    
 72        try:
 73            cursor = conn.cursor()
 74            query = """
 75            SELECT salon_id, nombre
 76            FROM salones
 77            ORDER BY nombre;
 78            """
 79            cursor.execute(query)
 80            resultado = cursor.fetchall()
 81            return resultado
 82    
 83        except sqlite3.Error as e:
 84            print(f"Error al consultar los salones: {e}")
 85            return []
 86    
 87        finally:
 88            conn.close()
 89
 90    def modificar_reserva(self, reserva_id, persona,telefono,fecha,salon_id, tipo_reserva_id,tipo_cocina_id, ocupacion, jornadas,habitaciones):
 91        conn=self.conectar()
 92        if not conn:
 93            print ("No se puede conectar a la BBDD")
 94            return False
 95        
 96        try:
 97            cursor=conn.cursor()
 98            query = """
 99            UPDATE reservas
100            SET persona = ?, telefono = ?, fecha = ?, salon_id = ?, tipo_reserva_id = ?, tipo_cocina_id = ?, ocupacion = ?, jornadas = ?, habitaciones = ?
101            WHERE reserva_id = ?
102            """
103            cursor.execute(query, (persona, telefono, fecha, salon_id, tipo_reserva_id, tipo_cocina_id, ocupacion, jornadas, habitaciones, reserva_id))
104            conn.commit()
105        
106            if cursor.rowcount > 0:
107                print(f"Reserva con ID {reserva_id} modificada correctamente.")
108                return True
109            else:
110                print(f"No se encontró la reserva con ID {reserva_id}.")
111                return False
112        except sqlite3.Error as e:
113            print(f"Error al modificar la reserva: {e}")
114            return False
115        finally:
116            conn.close()

Clase que conecta la base de datos con la aplicación

Connectionbd(reservasEnHotel)
 9    def __init__ (self,reservasEnHotel):
10
11        self.reservasEnHotel=reservasEnHotel
reservasEnHotel
def conectar(self):
13    def conectar(self):
14        try:
15            conn=sqlite3.connect(self.reservasEnHotel)
16            return conn
17        
18        except sqlite3.Error as e:
19            print(f"Error al conectar con la BBDD: {e}")
20            return None
def get_reservasSalon(self, tipoSalon):
22    def get_reservasSalon(self,tipoSalon):
23        conn=self.conectar()
24        if not conn:
25            print("No se pudo conectar a la base de datos.")
26            return []
27        
28        try:
29            cursor=conn.cursor()
30            query="""
31            SELECT 
32                r.reserva_id,
33                r.fecha, 
34                r.persona AS cliente, 
35                r.telefono AS telefono, 
36                tr.nombre AS tipo_reserva
37                
38            FROM 
39                reservas r
40            JOIN 
41                tipos_reservas tr ON r.tipo_reserva_id=tr.tipo_reserva_id
42            
43            JOIN 
44                salones s ON r.salon_id = s.salon_id
45            WHERE 
46                s.nombre = ?
47
48            ORDER BY r.fecha DESC;
49
50            """
51
52            print(f"Ejecutando consulta para el salón: {tipoSalon}")
53
54            cursor.execute(query,(tipoSalon,))
55            resultado=cursor.fetchall()
56            print(f"Resultado de la consulta: {resultado}")
57            return resultado
58        
59        except sqlite3.Error as e:
60            print(f"Error al consultar las reservas: {e}")
61            return []
62        
63        finally:
64            conn.close()
def get_salones(self):
66    def get_salones(self):
67        conn = self.conectar()
68        if not conn:
69            print("No se pudo conectar a la base de datos.")
70            return []
71    
72        try:
73            cursor = conn.cursor()
74            query = """
75            SELECT salon_id, nombre
76            FROM salones
77            ORDER BY nombre;
78            """
79            cursor.execute(query)
80            resultado = cursor.fetchall()
81            return resultado
82    
83        except sqlite3.Error as e:
84            print(f"Error al consultar los salones: {e}")
85            return []
86    
87        finally:
88            conn.close()
def modificar_reserva( self, reserva_id, persona, telefono, fecha, salon_id, tipo_reserva_id, tipo_cocina_id, ocupacion, jornadas, habitaciones):
 90    def modificar_reserva(self, reserva_id, persona,telefono,fecha,salon_id, tipo_reserva_id,tipo_cocina_id, ocupacion, jornadas,habitaciones):
 91        conn=self.conectar()
 92        if not conn:
 93            print ("No se puede conectar a la BBDD")
 94            return False
 95        
 96        try:
 97            cursor=conn.cursor()
 98            query = """
 99            UPDATE reservas
100            SET persona = ?, telefono = ?, fecha = ?, salon_id = ?, tipo_reserva_id = ?, tipo_cocina_id = ?, ocupacion = ?, jornadas = ?, habitaciones = ?
101            WHERE reserva_id = ?
102            """
103            cursor.execute(query, (persona, telefono, fecha, salon_id, tipo_reserva_id, tipo_cocina_id, ocupacion, jornadas, habitaciones, reserva_id))
104            conn.commit()
105        
106            if cursor.rowcount > 0:
107                print(f"Reserva con ID {reserva_id} modificada correctamente.")
108                return True
109            else:
110                print(f"No se encontró la reserva con ID {reserva_id}.")
111                return False
112        except sqlite3.Error as e:
113            print(f"Error al modificar la reserva: {e}")
114            return False
115        finally:
116            conn.close()