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

Я не уверен, что правильно в функциии database_query создаю параметр

params=''

Я буду его передавать в cursor.execute

Как правильно сделать?

def database_query(query: str, params=''):
connect = sql.connect(cfg.DATABASE_PATH, check_same_thread=False)
with connect:
cursor = connect.cursor()
cursor.execute(query, params) #«««««««««««««
result = cursor.fetchall()
if connect:
connect.commit()
connect.close()
else:
log.error('Disconnect database connections')
log.info(f'Result {result}\n\tQuery <{query}>')
return result

23 ответов

22 просмотра

Params должен быть тупл

Зачем тебе эта функция? Выглядит как очень опасная вещь

Alexander- Автор вопроса
Tishka17
Зачем тебе эта функция? Выглядит как очень опасная...

Чтоб не повторять этот код везде, когда хочу обратиться к базе

Alexander- Автор вопроса

1. нафига check_same_thread=False?

Alexander
Чтоб не повторять этот код везде, когда хочу обрат...

А если тебе надо будет сделать два запроса подряд в одной транзакции?

Alexander- Автор вопроса
Alexander
Не знаю, может это мои замашки из C#

эм... значит и на C# ты пишешь хуевый код.

Alexander- Автор вопроса
Alex
эм... значит и на C# ты пишешь хуевый код.

Не обсирай Я сейчас пытаюсь логику опробовать Python

Alexander- Автор вопроса
Tishka17
А если тебе надо будет сделать два запроса подряд ...

Я напишу класс нормально позже под всё

K G
А почему, кстати?

ну вот выше аргумент 1. ты хочешь выполнить несколько запросов в одном подключении \ транзакции.

Alexander- Автор вопроса
Alex
ну вот выше аргумент 1. ты хочешь выполнить неско...

Я для этого не буду создавать коннект постоянно, а только коммитить и то, если будут измениния в таблиицей

еще и никакой обработки ошибок. это прекрасно.

например если connect.commit() выбросит исключение, твое подключение будет закрыто неизвестно когда.

Alexander- Автор вопроса

а на счет params сфигали там строка?

Alexander- Автор вопроса
Alex
например если connect.commit() выбросит исключени...

А там разве with не закроет всё до коммита ещё?

Tishka17
А там разве with не закроет всё до коммита ещё?

ой... там еще и with, который я не заметил. еще лучше.

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

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

а через 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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта