Как исправить «База данных заблокирована» при обновлении? - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу обновить данные из переменной, но я не знаю, почему это сообщение об ошибке отображается при выполнении моего кода:

line 18, in save
curseur.execute("UPDATE SAV SET Commentaires_SAV=(?)", (T_Comment.get("1.0", END),) )
sqlite3.OperationalError: database is locked

Я использую Atom для сценария, использую python 3.7.2 и использую SQLite3 и SQLite Studio для всех данных.

import sqlite3
from tkinter import *

connexion = sqlite3.connect('Base_SAV.db')            
curseur = connexion.cursor()                       
curseur.execute("PRAGMA foreign_keys =ON")

def save(event):
   curseur.execute("UPDATE SAV SET Commentaires_SAV=(?)", (T_Comment.get("1.0", END),) )

... 

L_Comment = Label(my_frame, text='Commentaires SAV :', font=('Arial', 22, 'bold','underline')).grid(row=1, column=1, sticky='w')
T_Comment = Text(my_frame, height=10, width=100,font=('Arial',14))
T_Comment.grid(row=2, column=1,columnspan=7, sticky='w')

...
my_frame.bind("<Return>", save)

Я не знаю, как решить эту проблему. Спасибо, если вы можете мне помочь.

1 Ответ

2 голосов
/ 23 апреля 2019

Это означает, что sqlite3 journal все еще работает. Закройте браузер базы данных, который вы используете, и снова запустите скрипт, он будет работать. А также не забудьте закрыть соединение после окончания update.

curseur.commit()
curseur.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...