170 похожих чатов

Всем привет! Прошу совета - делаю select с базы sqlite3 и

получаю [] (то есть пустой список)

Пытаюсь обрабатывать ошибку так :
if not result_select_from_db :
def ... ()

Так же пробовал писать варианты is None и тд - при любом исходе крашится и дальше не идёт, как быть ?

10 ответов

27 просмотров
f0rkillU-Pakhotin Автор вопроса

сам код таков : result_select_from_db = database.select_from_db(key) if not result_select_from_db: database.insert_into_db(key, value) if value != result_select_from_db[0][2]: send_alarm(key, value) database.update_status(key, value) и я пытаюсь обработать пустоту, что если ничего нету - делай инсерт, но мне как пустота вохращается, просто всё останавливается :(

f0rkillU Pakhotin
сам код таков : result_select_from_db ...

Ну так если у тебя result_select_from_db это None или пустой список, то конечно же на строке if value != result_select_from_db[0][2]: будет ошибка

f0rkillU-Pakhotin Автор вопроса

ммм, я еще столкнулся с проблемой что инсерт в целом не работает почему-то :(

f0rkillU Pakhotin
ммм, я еще столкнулся с проблемой что инсерт в цел...

телепатией тут никто не владеет, так что либо скидывай полностью код и ошибку с трейсбеком, либо сам разбирайся ¯\_(ツ)_/¯

f0rkillU-Pakhotin Автор вопроса
Misha Osadchyi
телепатией тут никто не владеет, так что либо скид...

Основная функция : def test_monitoring(): parsing_sip_peers() try: for key, value in parsing_sip_peers().items(): if not result_select_from_db: database.insert_into_db(key, value) new_result_select_from_db = database.select_from_db(key) if value != new_result_select_from_db[0][2]: send_alarm(key, value) database.update_status(key, value) else: print('some problems with DB')) except IndexError as error: print(error) finally: print('Функция запустилась') SELECT-функция : def select_from_db(key): try: with connection_db: cursor_obj = connection_db.cursor() result = cursor_obj.execute("""SELECT * FROM nomera_telephonov WHERE peer '{}'""".format(key)) connection_db.commit() return result.fetchall() except sqlite3.Error as e: print("Error SQLite3 : ", e) INSERT-функция : def insert_into_db(key, value): try: with connection_db: cursor_obj = connection_db.cursor() query = """INSERT INTO nomera_telephonov(peer,status) VALUES (?,?);""".format(key, value) cursor_obj.execute(query) connection_db.commit() except sqlite3.Error as e: print("Error SQLite3 : ", e)

f0rkillU-Pakhotin Автор вопроса

полагаю это намёк чтобы выложить туда, да ?

f0rkillU-Pakhotin Автор вопроса
🧬Cerbin
Неудобно смотреть

такой ресурс, подойдет ?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта