Я копирую свой код
import sqlite3
class Product:
db_name = 'database_escuela.db'
У меня есть запрос здесь
def run_query(self, query, parameters = ()):
with sqlite3.connect(self.db_name) as conn:
cursor = conn.cursor()
result = cursor.execute(query, parameters)
conn.commit()
return result
Здесь у меня есть функция, которую я хочу достичь, это то, что она проходит через таблицу SCHOOL и обновляет поле с именем dias1, но каждый раз, когда это происходит, появляется ошибка
def actualizar_estudiantes(self):
#query = 'SELECT * FROM escuela'
db_rows = self.run_query(query)
self.dias1=10
for row in db_rows:
print('Entro en Actualizar')
query = "UPDATE escuela SET dias1 = ?"
parameters = (self.dias1, )
self.run_query(query, parameters)
#result.close()
Я занимался расследованием и понимаю, что дважды открываю таблицу, но не знаю, как исправить ошибку, я ценю помощь, которую вы можете дать мне, я начинаю с python
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Juan Carlos Pantoja\AppData\Local\Programs\Python\Python38-
32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "index5.py", line 183, in actualizar_estudiantes
self.run_query(query, parameters)
File "index5.py", line 97, in run_query
conn.commit()
sqlite3.OperationalError: database is locked
новая ошибка с модификацией
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Juan Carlos Pantoja\AppData\Local\Programs\Python\Python38-
32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "index5.py", line 177, in actualizar_estudiantes
db_rows = self.run_query(query)
UnboundLocalError: local variable 'query' referenced before assignment