Změnil bych prohlášení, které kontroluje, zda je připojení otevřené, na obě kontroly, zda není conn žádné, stejně jako zda je připojení otevřené. A protože vždy spustíte setValue
Doporučil bych vám, abyste zavolali connect uvnitř __init__
funkce.
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()
Nezapomeňte také, že s konektorem Python MySQL Connector musíte po provedení příkazu vložení nebo aktualizace zavolat potvrzení.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()