Как сравнить значение числа в ячейке с другим sqlite3 python
Здраствуйте, мне нужно проверить, равно ли значение в ячейке определённому числу. return возвращает строку <sqlite3.Cursor object at 0x0000027CB7DB64C0>, но не само число, которое мне нужно
1 файл: (Исполняемый)
from db import Database
if db.check() == 3:
# что-то делается
2 файл: (db.py)
import sqlite3
class Database:
def __init__(self, db_file):
self.connection = sqlite3.connect(db_file)
self.cursor = self.connection.cursor()
def check(self):
with self.connection:
res = self.cursor.execute('SELECT check_db FROM users WHERE check_id = ?',())
return res
Ответы (1 шт):
Автор решения: mrBars1k
→ Ссылка
Вы не возвращаете результат выборки.
Чтобы вернуть найденные данные, необходимо воспользоваться fetchall() чтобы вернуть все результаты, или fetchone() для первого результата выборки. Также есть fetchmany() и в скобках указываете количество необходимых данных из выборки.
Я использую немного другой способ, не через классы, поэтому на его примере покажу:
with sqlite3.connect("db_file.db") as adb:
cur = adb.cursor()
def check():
cur.execute("SELECT check_db FROM users WHERE check_id = 'ваше значение'")
result = cur.fetchall()
return result
print(check())