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):
"""Connexion à une base de donnée SQLite"""
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):
"""Vérifie qu'un fichier existe"""
try:
open(path, "r")
except FileNotFoundError:
return False
else:
return True
def requete(self, requete, valeurs = None):
"""Envois une requête vers la base de données"""
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):
"""Affiche le résultat d'une requête"""
tableau = []
if curseur == None:
return tableau
lignes = curseur[0].fetchall()
for ligne in lignes:
tableau.append(ligne)
return tableau