Я создаю простой класс для SQLite datadase, и когда я вставляю новую таблицу строк, это не изменяется.Вставить в sqlite python не изменить таблицу
DB.py
import sqlite3
class DB:
def __init__(self, **kwargs):
self.db = sqlite3.connect('passwods.db')
self.c = self.db.cursor()
self.c.execute('CREATE TABLE IF NOT EXISTS passwords (name, value)')
def insert(self, alias, cipher):
column = (alias, cipher)
self.c.execute('INSERT INTO passwords (name, value) VALUES (?,?)', column)
self.db.commit()
def get(self, alias):
pk = (alias,)
self.c.execute('SELECT * FROM passwords WHERE name=?', pk)
def getAll(self):
self.c.execute('SELECT * FROM passwords')
Интерактивная оболочка
>>> from DB import DB
>>> db = DB()
>>> db.insert('firstName', 'firstValue')
>>> print(db.getAll())
None
>>>
Вам необходимо зафиксировать данные при изменении данных. – polku
точно так же, как говорит polku. для транзакций базы данных, кроме запросов, вы должны использовать 'commit()' после 'execute()'. В вашем случае это, вероятно, будет 'self.db.commit()' в конце функции 'insert' –
. Я добавлен commit(), но он все еще не работает – Rodion