Je changerais l'instruction qui vérifie si la connexion est ouverte pour vérifier si conn n'est pas ainsi que si la connexion est ouverte. Et parce que vous exécutez toujours le setValue
Je vous recommande d'appeler la fonction connect à l'intérieur du __init__
fonction.
class Sample:
conn = None
def __init__(self):
self.connect()
self.value = self.setValue()
self.close()
def connect(self):
self.conn = MySQLdb.connect(...)
def close(self):
if self.conn:
self.conn.close()
def setValue(self):
if not self.conn and not self.conn.open:
self.connect()
cursor = self.conn.cursor()
N'oubliez pas non plus qu'avec le connecteur Python MySQL, vous devez appeler commit après avoir exécuté une instruction d'insertion ou de mise à jour.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()