· 8 years ago · Jun 23, 2018, 05:58 PM
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3
4import sqlite3
5import os
6from conf import *
7class BDD:
8 """
9 Objet BDD :
10 .create() : Création d'une base de donnée
11 .close() : Fermer la connexion
12 .connect() : Connexion à une base de donnée sqlite3
13 .query() : Envoie d'une requête SQL
14 .getResult() : Récupération des résultats
15 .createTable() : Création d'une table
16 """
17
18 def __init__(self,bddName) :
19 #print("Bdd.__init__")
20 try:
21 self.bddName = bddName
22 path = os.path.join("\\".join(__file__.split("\\")[:-2:]),"Db",self.bddName)
23 self.conn = sqlite3.connect(path)
24 except Exception as e:
25 raise e
26 print(str(e))
27
28 def close(self):
29 #print("Bdd.close")
30 try:
31 self.conn.close()
32 except Exception as e:
33 raise e
34 print(str(e))
35
36 def query(self,data,multiple=False):
37 #print("Bdd.query")
38 try:
39 res = None
40 cursor = self.conn.cursor()
41 if "SELECT" in data["query"] :
42 if multiple == True:
43 if "values" in data :
44 cursor.execute(data["query"],data["values"])
45 else :
46 cursor.execute(data["query"])
47 res = cursor.fetchall()
48 else :
49 if "values" in data :
50 cursor.execute(data["query"],data["values"])
51 else :
52 cursor.execute(data["query"])
53 res = cursor.fetchone()
54 else :
55 if "values" in data :
56 cursor.execute(data["query"],data["values"])
57 else :
58 cursor.execute(data["query"])
59 self.conn.commit()
60 return res
61 except Exception as e:
62 raise e
63 print(str(e))
64
65 def createTable(self,data,tableName):
66 #print("Bdd.createTable")
67 try:
68 self.tableName = tableName
69 fields = ""
70 for field in data:
71 fields = fields+field["name"]+" "+field["type"]+","
72 query = "CREATE TABLE IF NOT EXISTS "+self.tableName+"("+fields[:-1:]+")"
73 self.query({"query":query})
74 except Exception as e:
75 raise e
76 exit()
77
78 def deleteTable(self,tableName):
79 #print("Bdd.deleteTable")
80 try:
81 query = "DROP TABLE "+tableName
82 self.query(query)
83 except Exception as e:
84 raise e
85 print(str(e))