from BackendApi.connect import connect conn = connect() class QueryFunc: #Функция обработки SELECT запросов к бд #Принимает запрос, аргументы которые предаются в запрос. #Последний параметр отвечает за возврат или одной записи или множества(по умолчанию). def query_select(self, query, args=(), one=False): try: with conn.cursor() as cursor: cursor.execute(query, args) r = [dict((cursor.description[i][0], value) \ for i, value in enumerate(row)) for row in cursor.fetchall()] return (r[0] if r else None) if one else r except Exception as ex: return {"msg":str(ex)} #Функция обработки INSERT запросов к бд #Принимает запрос и аргументы #Возвращает значение первого столбца добавленной записи def query_insert(self, query, args=()): try: with conn.cursor() as cursor: cursor.execute(query, args) conn.commit() return cursor.fetchone()[0] except Exception as ex: return {"msg":str(ex)} #Функция обработки DELETE и UPDATE запросов к бд #Принимает запрос и аргументы #Возвращает истину или ложь в зависимости от результата запроса def query_delete_update(self, query, args=()): try: with conn.cursor() as cursor: cursor.execute(query, args) if(cursor.rowcount != 0): conn.commit() return True return False except: return False #Функция возвращающая истину, если в сущности существет запись def query_check_count(self, query, args=()): try: with conn.cursor() as cursor: cursor.execute(query, args) if(cursor.rowcount > 0): return True return False except: return False