簡體   English   中英

python sqlite3獲取錯誤:sqlite3.OperationalError:數據庫已鎖定

[英]python sqlite3 Getting error: sqlite3.OperationalError: database is locked

您能幫我嗎,我寫了這段代碼:

class Favorits(object):
    def __init__(self, graph_):
        self.graph_ = graph_
        self.conn3 = sqlite3.connect('C:/C/V2.db')

    def add_(self):
        с3 = self.conn3.cursor()
        с3.execute("SELECT COUNT(*) FROM fav")
        t_count = с3.fetchall()
        self.conn3.commit()
        t_count = t_count[0][0]

        to_add_rus = self.graph_.text_rus.get('1.0', 'end')
        to_add_eng = self.graph_.text_eng.get('1.0', 'end')
        to_add_esp = self.graph_.text_esp.get('1.0', 'end')
        с3.execute("INSERT INTO fav VALUES(?,?,?,?)", (t_count + 1,    to_add_rus, to_add_eng, to_add_esp))
        self.conn3.commit()

    def rem_(self):
        c4 = self.conn3.cursor()

        idx = (self.graph_.word_.f_0_to_remove)
        idx = idx[0]
        print(idx)
        c4.execute("DELETE FROM fav WHERE id_=?", (idx,))
        self.conn3.commit()

這是一個用於添加和刪除db中不同行的類(使用Tkinter作為GUI)。 所以基本上我想通過兩個不同的游標建立到同一個數據庫的兩個不同的連接(以便能夠在其中添加和刪除單詞)。 而且我不斷收到此錯誤:self.conn3.commit()sqlite3.OperationalError:數據庫已鎖定

我已經嘗試過differendend選項,可以創建兩個不同的游標,等等。沒有任何幫助。

打開數據庫連接后,需要關閉它。 否則,連接將持續存在,因此數據庫認為正在進行編輯,因此將自身鎖定。

您可以使用命令self.conn3.close()斷開連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM