This repository has been archived on 2022-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
GesMag/db.py

52 lines
1.5 KiB
Python
Raw Normal View History

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