@NOblo

Проблемы с for и с sqlite3, что делать?

Вот кусок, там есть цикл for, и он просто игнорируется :/
global db 
global sql 
db = sqlite3.connect("lffdkldf.db", check_same_thread=False) 
sql = db.cursor() 
 
sql.execute("""CREATE TABLE IF NOT EXISTS _bot_ ( 
 teleid BIGINT, 
 NeftCash BIGINT, 
 reginfo INT 
)""") 
db.commit() 
 
#command 
@bot.message_handler(commands=["start"]) 
def one(message): 
 bot.send_message(message.chat.id, "yes", reply_markup = klava1) 
#ЭТОТ ЦИКЛ ФОР ПРОСТО НЕ ВЫПОЛНЯТСЯ!
 for i in sql.execute("SELECT reginfo FROM _bot_"): 
    if i[0] == 1: 
        pass 
     else: 
     sql.execute("INSERT INTO _bot_ VALUES(?, ?, ?)", 
    (message.chat.id, 0, 1)) 
db.commit()

Этот фор тоже не робит:
for i in sql.execute("SELECT teleid FROM _bot_"): 
 bot.send_message(message.chat.id, i + "all")

даже ошибки нету,он протсотигнорирует, почему?? В чем ошибка из за которого он игнорирует массив for?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 2
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Вы бы хоть чуть-чуть почитали про работу с базами данных. Или хотя бы примеры посмотрели.
После sql.execute() нужно вызвать sql.fetchall()
Ответ написан
@Shachi
Начинающий разработчик на Python
У меня опыт не большой, но я бы передалал ваш код вот так:

sql.execute("SELECT reginfo FROM _bot_")
data = sql.fetchall()

for i, row in enumerate(data): 
    # Тут ваш код.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы