2021-11-18 20:40:34 +01:00
|
|
|
import sqlite3
|
|
|
|
|
|
|
|
class BaseDeDonnees:
|
|
|
|
"""Gère la base de donnée."""
|
|
|
|
def __init__(self, urlBaseDeDonnee: str):
|
|
|
|
self.connexion = self.creerConnexion(urlBaseDeDonnee)
|
|
|
|
|
|
|
|
def creerConnexion(self, path):
|
2021-11-19 00:48:26 +01:00
|
|
|
"""Connexion à une base de donnée SQLite."""
|
2021-11-18 20:40:34 +01:00
|
|
|
if not self.fichierExiste(path):
|
|
|
|
open(path, "x")
|
|
|
|
connnexion = None
|
|
|
|
try:
|
|
|
|
connnexion = sqlite3.connect(path)
|
|
|
|
except sqlite3.Error as e:
|
|
|
|
print(e)
|
|
|
|
return connnexion
|
|
|
|
|
|
|
|
def fichierExiste(self, path):
|
2021-11-19 00:48:26 +01:00
|
|
|
"""Vérifie qu'un fichier existe."""
|
2021-11-18 20:40:34 +01:00
|
|
|
try:
|
|
|
|
open(path, "r")
|
|
|
|
except FileNotFoundError:
|
|
|
|
return False
|
|
|
|
else:
|
|
|
|
return True
|
|
|
|
|
|
|
|
def requete(self, requete, valeurs = None):
|
2021-11-19 00:48:26 +01:00
|
|
|
"""Envois une requête vers la base de données."""
|
2021-11-18 20:40:34 +01:00
|
|
|
try:
|
|
|
|
curseur = self.connexion.cursor()
|
|
|
|
if valeurs:
|
|
|
|
if type(valeurs) not in [list, tuple]:
|
|
|
|
valeurs = [valeurs]
|
|
|
|
curseur.execute(requete, valeurs)
|
|
|
|
else:
|
|
|
|
curseur.execute(requete)
|
|
|
|
self.connexion.commit()
|
|
|
|
return (curseur, curseur.lastrowid)
|
|
|
|
except sqlite3.Error as e:
|
|
|
|
print(e)
|
|
|
|
|
|
|
|
def affichageResultat(self, curseur):
|
2021-11-19 00:48:26 +01:00
|
|
|
"""Affiche le résultat d'une requête."""
|
2021-11-18 20:40:34 +01:00
|
|
|
tableau = []
|
|
|
|
if curseur == None:
|
|
|
|
return tableau
|
|
|
|
lignes = curseur[0].fetchall()
|
|
|
|
for ligne in lignes:
|
|
|
|
tableau.append(ligne)
|
|
|
|
return tableau
|