Ошибка при вставке значения в таблицу
Ошибка при вставке значения в таблицу:
Incorrect number of bindings supplied. The current statement uses 2, and there are 1 supplied.
Запрос:
self._conn.execute("INSERT INTO files (filename, filename_new) VALUES (?, ?)",
(oldfilename, filename))
Код
class Connection:
_instance = None
def __new__(cls, *args, **kwargs):
if not isinstance(cls._instance, cls):
cls._instance = object.__new__(cls, *args, **kwargs)
return cls._instance
def __init__(self, *args, **kwargs):
self._conn = sqlite3.connect(DB_PATH)
def execute(self, sql, *args):
try:
self._cursor = self._conn.cursor()
self._cursor.execute(sql, args)
self._conn.commit()
rows = self._cursor.fetchall()
column_names = [description[0] for description in self._cursor.description]
result = [dict(zip(column_names, row)) for row in rows]
return result
except sqlite3.Error as e:
logger.error('Run SQL-query, error: {}'.format(e))
raise DBQueryException(str(e))
finally:
self._cursor.close()
def execute_void(self, sql, *args):
try:
self._cursor = self._conn.cursor()
self._cursor.execute(sql, args)
self._conn.commit()
except sqlite3.Error as e:
logger.error('Run SQL-query, error: {}'.format(e))
raise DBQueryException(str(e))
finally:
self._cursor.close()
def close(self):
if hasattr(self, '_conn'):
self._conn.close()
del self._conn
del self._cursor
def __del__(self):
self.close()