Esempio n. 1
0
 def insertar(cls, persona):
     with Conexion.obtenerConexion():
         with Conexion.obtenerCursor() as cursor:
             valores = (persona.nombre, persona.apellido, persona.email)
             cursor.execute(cls._INSERTAR, valores)
             log.debug(f'Persona insertada: {persona}')
             return cursor.rowcount
Esempio n. 2
0
 def eliminar(cls, persona):
     with Conexion.obtenerConexion():
         with Conexion.obtenerCursor() as cursor:
             valores = (persona.id_persona, )
             cursor.execute(cls._ELIMINAR, valores)
             log.debug(f'Objeto eliminado: {persona}')
             return cursor.rowcount
Esempio n. 3
0
 def actualizar(cls, persona):
     with Conexion.obtenerConexion():
         with Conexion.obtenerCursor() as cursor:
             valores = (persona.nombre, persona.apellido, persona.email,
                        persona.id_persona)
             cursor.execute(cls._ACTUALIZAR, valores)
             log.debug(f'Persona actualizada: {persona}')
             return cursor.rowcount
Esempio n. 4
0
 def seleccionar(cls):
     cursor = Conexion.obtenerCursor()
     logger.debug(cursor.mogrify(cls.__SELECCIONAR))
     cursor.execute(cls.__SELECCIONAR)
     registros = cursor.fetchall()
     personas = []
     for registro in registros:
         persona = Persona(registro[0], registro[1], registro[2], registro[3])
         personas.append(persona)
     Conexion.cerrar()
     return personas
Esempio n. 5
0
 def seleccionar(cls):
     cursor = Conexion.obtenerCursor()
     logger.debug(
         cursor.mogrify(cls.__SELECCIONAR)
     )  # manda a imprimir el query q se va a ejecutar pero en la base de datos
     cursor.execute(cls.__SELECCIONAR)
     registros = cursor.fetchall()
     personas = []
     for registro in registros:
         persona = Persona(registro[0], registro[1], registro[2],
                           registro[3])
         personas.append(persona)
     Conexion.cerrar()
     return personas
Esempio n. 6
0
 def eliminar(cls, persona):
     try:
         conexion = Conexion.obtenerConexion()
         cursor = Conexion.obtenerCursor()
         logger.debug(cursor.mogrify(cls.__ELIMINAR))
         logger.debug(f'Persona a eliminar: {persona}')
         valores = (persona.get_id_persona(), )
         cursor.execute(cls.__ELIMINAR, valores)
         conexion.commit()
         return cursor.rowcount
     except Exception as e:
         conexion.rollback()
         logger.error(f'Excepcion al eliminar')
     finally:
         Conexion.cerrar()
Esempio n. 7
0
 def actualizar(cls, persona):
     try:
         conexion = Conexion.obtenerConexion()
         cursor = Conexion.obtenerCursor()
         logger.debug(cursor.mogrify(cls.__ACTUALIZAR))
         logger.debug(f'Persona a actualizar: {persona}')
         valores_persona = (persona.get_nombre(), persona.get_apellido(),
                            persona.get_email(), persona.get_id_persona())
         cursor.execute(cls.__ACTUALIZAR, valores_persona)
         conexion.commit()
     except Exception as e:
         conexion.rollback()
         logger.error(f'Excepcion al actualizar persona {e}')
     finally:
         Conexion.cerrar()
Esempio n. 8
0
    def seleccionar(cls):
        cursor = Conexion.obtenerCursor()
        # .mogrify(sql) mostrara el string que se ejecutara en la BD
        logger.debug(cursor.mogrify(cls.__SELECCIONAR))
        cursor.execute(cls.__SELECCIONAR)
        registros = cursor.fetchall()
        personas = []
        for registro in registros:
            # con los registros retornamos una lista de objetos con informacion de persona
            persona = Persona(registro[0], registro[1], registro[2],
                              registro[3])
            personas.append(persona)

        Conexion.cerrarConexion()
        return personas
Esempio n. 9
0
 def insertar(cls, persona):
     try:
         conexion = Conexion.obtenerConexion()
         cursor = Conexion.obtenerCursor()
         logger.debug(cursor.mogrify(cls.__INSERTAR))
         logger.debug(f'Persona a insertar: {persona}')
         valores = (persona.get_nombre(), persona.get_apellido(), persona.get_email())
         cursor.execute(cls.__INSERTAR, valores)
         conexion.commit()
         return cursor.rowcount
     except Exception as e:
         conexion.rollback()
         logger.error(f'Excepción al insertar persona: {e}')
     finally:
         Conexion.cerrar()
Esempio n. 10
0
    def seleccionar(cls):

        try:
            Conexion.obtenerConexion()
            cursor = Conexion.obtenerCursor()

            logger.debug(f'Datos: {cursor.mogrify(cls.__SELECCIONAR)}')
            cursor.execute(cls.__SELECCIONAR)
            datos = cursor.fetchall()
            logger.debug(datos)

        except Exception as e:

            logger.error(f'Error de consulta: {e}')
            sys.exit()
        finally:
            Conexion.cerrar()
Esempio n. 11
0
 def eliminar(cls, persona):
     #El try bloque le permite probar un bloque de código en busca de errores.
     try:
         conexion = Conexion.obtenerConexion()
         cursor = Conexion.obtenerCursor()
         logger.debug(cursor.mogrify(cls.__ELIMINAR))
         logger.debug(f'Persona a eliminar: {persona}')
         valores = (persona.get_id_persona(), )
         cursor.execute(cls.__ELIMINAR, valores)
         conexion.commit()
         return cursor.rowcount
     #El except bloque le permite manejar el error.
     except Exception as e:
         conexion.rollback()
         logger.error(f'Excepción al eliminar persona:{e}')
     #El finally bloque le permite ejecutar código, independientemente del resultado de los bloques try y except.
     finally:
         Conexion.cerrar()
Esempio n. 12
0
    def eliminar(cls, persona):
        try:
            # necesito obtener el conexion para guardar en la BD
            conexion = Conexion.obtenerConexion()
            cursor = Conexion.obtenerCursor()
            logger.debug(
                cursor.mogrify(cls.__ELIMINAR)
            )  # manda a imprimir el query q se va a ejecutar pero en la base de datos
            logger.debug(f'Persona a eliminar: {persona}')
            valores = (persona.get_id_persona(), )  #valores a insertar
            cursor.execute(cls.__ELIMINAR, valores)
            conexion.commit()
            return cursor.rowcount

        except Exception as e:
            conexion.rollback()
            logger.error(f'Error al insertar una persona :{e}')

        finally:
            Conexion.cerrar()


# if __name__ == "__main__":
# probar el select
# personas = PersonaDao.seleccionar()
# for persona in personas:
#     logger.debug(persona)
#    logger.debug(persona.get_id_persona())

# Insertar el registro
# persona = Persona(nombre ='Pedro', apellido='Najera', email='*****@*****.**')
# personas_insertadas = PersonaDao.insertar(persona)
# logger.debug(f'Registros Insertados: {personas_insertadas}')

# Actualizar registros
# persona = Persona(id_persona = 1, nombre ='Juan', apellido='Perez', email='*****@*****.**')
# personas_modificadas = PersonaDao.actualizar(persona)
# logger.debug(f'Registros actualizados: {personas_modificadas}')

# Eliminar registro
# persona = Persona(id_persona = 20)
# personas_eliminadas = PersonaDao.eliminar(persona)
# logger.debug(f'Registros Eliminados: {personas_eliminadas}')
Esempio n. 13
0
    def insertar(cls, persona):
        try:
            # necesito obtener el conexion para guardar en la BD
            conexion = Conexion.obtenerConexion()
            cursor = Conexion.obtenerCursor()
            logger.debug(
                cursor.mogrify(cls.__INSERTAR)
            )  # manda a imprimir el query q se va a ejecutar pero en la base de datos
            logger.debug(f'Persona a insertar: {persona}')
            valores = (persona.get_nombre(), persona.get_apellido(),
                       persona.get_email())  #valores a insertar
            cursor.execute(cls.__INSERTAR, valores)
            conexion.commit()
            return cursor.rowcount

        except Exception as e:
            conexion.rollback()
            logger.error(f'Error al insertar una persona :{e}')

        finally:
            Conexion.cerrar()
Esempio n. 14
0
    def eliminar(cls, Persona):
        try:
            conexion = Conexion.obtenerConexion()
            cursor = Conexion.obtenerCursor()

            logger.debug(cursor.mogrify(cls.__ELIMINAR))
            logger.debug(f'Persona a eliminar: {Persona}')
            # los valores los obtenemos accediendo al objeto, ya que se pasa un objeto de Persona
            valores = (Persona.get_id_persona(), )
            cursor.execute(cls.__ELIMINAR, valores)

            # grabar en bd
            conexion.commit()

            # cantidad de registros afectados
            return cursor.rowcount

        except Exception as e:
            conexion.rollback()
            logger.error(f'Error al eliminar persona: {e}')
        finally:
            Conexion.cerrarConexion()
Esempio n. 15
0
    def insertar(cls, Persona):
        try:
            conexion = Conexion.obtenerConexion()
            cursor = Conexion.obtenerCursor()

            logger.debug(cursor.mogrify(cls.__INSERTAR))
            logger.debug(f'Persona a insertar: {Persona}')
            # los valores los obtenemos accediendo al objeto, ya que se pasa un objeto de Persona
            valores = (Persona.get_nombre(), Persona.get_apellido(),
                       Persona.get_email())
            cursor.execute(cls.__INSERTAR, valores)

            # grabar en bd
            conexion.commit()

            # cantidad de registros afectados
            return cursor.rowcount

        except Exception as e:
            conexion.rollback()
            logger.error(f'Error al insertar persona: {e}')
        finally:
            Conexion.cerrarConexion()