- Статус
- Оффлайн
- Регистрация
- 17 Дек 2018
- Сообщения
- 548
- Реакции
- 201
Люблю uncaught exceptions =)
Usage:
Первый аргумент - сама команда, второй - "тупля" с параметрами (можно не указывать)
Python:
import sqlite3
from typing import Iterable
class SQLTool:
path = str()
def connect(self):
return sqlite3.connect(self.path)
def close(self, database):
database.close()
def cursor(self, database):
return database.cursor()
def commit(self, database):
try:
database.commit()
return True
except:
return False
def execute(self, command: str, params: Iterable = None):
_db = self.connect()
_cursor = self.cursor(_db)
try:
if params != None:
_cursor.execute(command, params)
else:
_cursor.execute(command)
_success = self.commit(_db)
except sqlite3.Error as error:
print('sqltool error:', error)
_success = False
self.close(_db)
return _success
def fetchone(self, command: str, params: Iterable = None):
_db = self.connect()
_cursor = self.cursor(_db)
_db.row_factory = lambda cursor, row: row[0]
try:
if params != None:
_result = _cursor.execute(command, params).fetchone()
else:
_result = _cursor.execute(command).fetchone()
except sqlite3.Error as error:
print('sqltool error:', error)
_result = None
_db.row_factory = None
self.close(_db)
return _result
def fetchall(self, command: str, params: Iterable = None):
_db = self.connect()
_cursor = self.cursor(_db)
_db.row_factory = lambda cursor, row: row[0]
try:
if params != None:
_result = _cursor.execute(command, params).fetchall()
else:
_result = _cursor.execute(command).fetchall()
except sqlite3.Error as error:
print('sqltool error:', error)
_result = None
_db.row_factory = None
self.close(_db)
return _result
Python:
tmp = SQLTool()
tmp.path = your_path
tmp.execute('INSERT INTO your_table_name (var) VALUES((?))', (your_var,))