Sqlite3.OperationalError: near "(": syntax error
вылезла ошибка sqlite3.OperationalError: near "(": syntax error
отрывок кода:
def remove_tasks(self):
selected_items = self.task_list_widget.selectedItems()
if len(selected_items) > 0:
for item in selected_items:
self.task_list_widget.takeItem(self.task_list_widget.row(item))
cur.execute("DELETE FROM Task WHERE self.task_list_widget.row(item)")
else:
QMessageBox.warning(self, "Ошибка", "Выберите задачи для удаления")
self.task_list_widget.takeItem(self.task_list_widget.row(item)) - удаление определенных элементов с окна
cur.execute("DELETE FROM Task WHERE self.task_list_widget.row(item)") - на эту строчку ссылается компилятор при ошибке
не понимаю как исправлять эту ошибку
cur.execute("DELETE FROM Task WHERE self.task_list_widget.row(item)")
Здесь вы поместили код на Python внутрь SQL-запроса.
Это значит, что код на Python уйдет в СУБД и будет там выполняться.
Но СУБД не знает Python.
Вам нужно подать в кавычках настоящий SQL-запрос, без кода на Python.
Например, указать после WHERE проверку идентификатора удаляемой строчки:
cur.execute("DELETE FROM Task WHERE табличное_поле_с_айди = ?", значение_айди)
не знаю