Как проверить ячейку бд на наличие конкретных данных Sql?

Рейтинг: 1Ответов: 1Опубликовано: 18.02.2023

Как можно проверить есть ли в ячейке True или же False. В зависимости от этого я буду давать клиентам разные сообщения. Вот код:

def Is_True_On_USERID(self, user_id):
        with self.connection:
            return self.cursor.execute(
                "SELECT COUNT(acquainted) as count FROM clientdata WHERE acquainted = ('True') AND user_id = (?)", (user_id,))

А так я вызываю это

@dp.message_handler(state=Survey.concreteness_signals)
async def last_x(message: types.Message, state: FSMContext):
    db.add_concreteness_signals(message.text, message.from_user.id)
    print(bool(db.Is_True_On_USERID(message.from_user.id)))
    if bool(db.Is_True_On_USERID(message.from_user.id)) == True:  # не работает!!! # data_client[str(message.from_user.id)] == "True":
        await bot.send_message(message.from_user.id, "Был отмечен True")
    if bool(db.Is_True_On_USERID(message.from_user.id)) == False:  # data_client[str(message.from_user.id)] == "False":
        await bot.send_message(message.from_user.id, "Был отмечен False")
    await state.finish()

введите сюда описание изображения

Ну если в acquainted True - одно даем, если False - другое. В комментариях есть вариация с dict, там все работает корректно, но хотелось бы именно через бд это реализовать help please

Ответы

▲ 0
def Is_True_On_USERID(self, user_id):
    with self.connection:
        return self.cursor.execute(
            "SELECT COUNT(acquainted) as count FROM clientdata WHERE acquainted = ('True') AND user_id = (?)", (user_id,)).fetchone()[0]

Вот так, просто .fetchone()[0] написать нужно было