Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import sqlite3
- import os
- from conf import *
- class BDD:
- """
- Objet BDD :
- .create() : Création d'une base de donnée
- .close() : Fermer la connexion
- .connect() : Connexion à une base de donnée sqlite3
- .query() : Envoie d'une requête SQL
- .getResult() : Récupération des résultats
- .createTable() : Création d'une table
- """
- def __init__(self,bddName) :
- #print("Bdd.__init__")
- try:
- self.bddName = bddName
- path = os.path.join("\\".join(__file__.split("\\")[:-2:]),"Db",self.bddName)
- self.conn = sqlite3.connect(path)
- except Exception as e:
- raise e
- print(str(e))
- def close(self):
- #print("Bdd.close")
- try:
- self.conn.close()
- except Exception as e:
- raise e
- print(str(e))
- def query(self,data,multiple=False):
- #print("Bdd.query")
- try:
- res = None
- cursor = self.conn.cursor()
- if "SELECT" in data["query"] :
- if multiple == True:
- if "values" in data :
- cursor.execute(data["query"],data["values"])
- else :
- cursor.execute(data["query"])
- res = cursor.fetchall()
- else :
- if "values" in data :
- cursor.execute(data["query"],data["values"])
- else :
- cursor.execute(data["query"])
- res = cursor.fetchone()
- else :
- if "values" in data :
- cursor.execute(data["query"],data["values"])
- else :
- cursor.execute(data["query"])
- self.conn.commit()
- return res
- except Exception as e:
- raise e
- print(str(e))
- def createTable(self,data,tableName):
- #print("Bdd.createTable")
- try:
- self.tableName = tableName
- fields = ""
- for field in data:
- fields = fields+field["name"]+" "+field["type"]+","
- query = "CREATE TABLE IF NOT EXISTS "+self.tableName+"("+fields[:-1:]+")"
- self.query({"query":query})
- except Exception as e:
- raise e
- exit()
- def deleteTable(self,tableName):
- #print("Bdd.deleteTable")
- try:
- query = "DROP TABLE "+tableName
- self.query(query)
- except Exception as e:
- raise e
- print(str(e))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement