This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
L3GestionParking/src/c/utils/connexionBDD.py

65 lines
1.9 KiB
Python
Raw Normal View History

2015-02-08 01:55:45 +00:00
"""
Module de gestion de la base de Donnée Sqlite
"""
2015-02-04 13:20:39 +00:00
from shutil import copyfile
2015-01-13 23:39:12 +00:00
import sqlite3
2015-01-12 15:49:41 +00:00
2015-02-08 01:55:45 +00:00
## Classe de connexion a la bd
2015-01-10 15:11:11 +00:00
class connexionBDD:
2015-02-08 14:48:22 +00:00
__chemin = "src/m/BDDprojetPython.sq3"
__sql = "src/m/table.sql"
2015-02-05 00:21:43 +00:00
2015-02-08 01:55:45 +00:00
## Construeur de la connexion. Initialise la bd en cas d'inexistance
2015-01-08 09:31:14 +00:00
def __init__(self):
2015-02-04 13:20:39 +00:00
try:
with open(self.__chemin):
pass
except IOError:
self.__conn = sqlite3.connect(connexionBDD.__chemin)
self.__conn.row_factory = sqlite3.Row
self.__cur = self.__conn.cursor()
self.initialisationBDD()
self.__conn = sqlite3.connect(connexionBDD.__chemin)
2015-01-13 23:39:12 +00:00
self.__conn.row_factory = sqlite3.Row
self.__cur = self.__conn.cursor()
2015-02-08 01:55:45 +00:00
## Execute une requete avec des param
# @param req la requete a execute
# @param param un tuple contenant les donnees a inserer dans la requete
2015-02-05 00:21:43 +00:00
def execute(self, req, param=()):
2015-02-08 01:55:45 +00:00
try:
r = self.__cur.execute(req, param)
self.__conn.commit()
except Exception as e:
print (e)
r = None
2015-01-13 23:39:12 +00:00
return r
2015-02-08 01:55:45 +00:00
## Id genere par la derniere requete
# @return Id genere par la derniere requete
2015-01-13 23:39:12 +00:00
def lastId(self):
return self.__cur.lastrowid
2015-01-12 15:49:41 +00:00
2015-02-08 01:55:45 +00:00
## Deconnexion de la BD
2015-01-08 09:31:14 +00:00
def seDeconnecter(self):
2015-01-13 23:39:12 +00:00
self.__cur.close()
self.__conn.close()
2015-02-08 01:55:45 +00:00
## Initialise la BD
2015-01-13 23:39:12 +00:00
def initialisationBDD(self):
2015-02-04 13:20:39 +00:00
with open(self.__sql) as f:
2015-02-05 00:21:43 +00:00
sql = f.read()
2015-01-13 23:39:12 +00:00
self.__conn.executescript(sql)
self.__conn.commit()
2015-02-08 01:55:45 +00:00
## Creer une copie de la bd
# @param path le chemin du fichier de sauvegarde de la bd
2015-02-04 13:20:39 +00:00
@staticmethod
def sauver(path):
copyfile(connexionBDD.chemin, path)
2015-02-08 01:55:45 +00:00
## Charge une copie de la bd
# @param path le chemin du fichier a charger pour la bd
2015-02-04 13:20:39 +00:00
@staticmethod
def charger(path):
copyfile(path, connexionBDD.chemin)