Jag skulle ändra påståendet som kontrollerar om anslutningen är öppen för att både kontrollera om anslutning är ingen och om anslutningen är öppen. Och eftersom du alltid kör setValue
funktionen Jag skulle rekommendera att du anropar anslutningen inuti __init__
funktion.
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()
Kom också ihåg att med Python MySQL Connector måste du anropa commit efter att du har kört en insert- eller update-sats.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()