Vorrei cambiare l'istruzione che controlla se la connessione è aperta per entrambi controllare se conn non è nessuno e se la connessione è aperta. E poiché esegui sempre setValue
funzione Ti consiglierei di chiamare la connessione all'interno di __init__
funzione.
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()
Inoltre, ricorda che con Python MySQL Connector devi chiamare commit dopo aver eseguito un'istruzione di inserimento o aggiornamento.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()