Connection time out - база данных удаляет внесенные данные
Разрабатываю веб-приложение, в котором очень нужна динамическая база данных, чтобы даже после перезагрузки страницы/компьютера/вселенной все внесенные данных сохранились без потерь, чтобы можно было непосредственно в момент работы с приложением, уже на хостинге, заносить в нее новые вещи, удалять что-то и сохранять эти изменения. Уже дважды в БД было внесено больше ста позиций, затем появлялась надпись "Connection time out" и все данные пропадали. Мне порекомендовали вот такой код:
import sqlite3
def connection(db_name):
return sqlite3.connect(db_name)
def create_table(table):
q = connection('data.db')
q.execute(f'CREATE TABLE IF NOT EXISTS {table}(name TEXT, nic TEXT, mgs INT,'
'flavor TEXT, specifics TEXT, menthol TEXT)')
q.commit()
q.close()
def add_data(table, name, nic, mgs, flavor, specifics, menthol):
q = connection('data.db')
q.execute(f'INSERT INTO {table}(name, nic, mgs, flavor, specifics, menthol)'
'VALUES (?,?,?,?,?,?)', (name, nic, mgs, flavor, specifics, menthol))
q.commit()
q.close()
def sel(table, one, two, three, four, five):
q = connection('data.db')
data = q.execute(f'''SELECT name FROM {table} WHERE nic=? and mgs= ? and flavor= ? and specifics=?
and menthol=?''', (one, two, three, four, five)).fetchall()
# data = q.fetchall()
q.close()
return data
def view_all_data(table):
q = connection('data.db')
result = q.execute(f'SELECT * from {table}').fetchall()
# result = q.fetchall()
q.commit()
q.close()
return result
def view_part_data(table):
q = connection('data.db')
parted = q.execute(f'SELECT name FROM {table}').fetchall()
# parted = q.fetchall()
q.commit()
q.close()
return parted
def deleting(table, liq):
q = connection('data.db')
q.execute(f'DELETE FROM {table} WHERE name=?', (liq))
q.commit()``
q.close()
Что может быть не так?
Источник: Stack Overflow на русском