Бих променил изявлението, което проверява дали връзката е отворено, както за проверка дали conn е none, така и дали връзката е отворена. И защото винаги изпълнявате setValue
функция Бих препоръчал да извикате свързването вътре в __init__
функция.
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()
Също така, не забравяйте, че с Python MySQL Connector трябва да извикате commit, след като изпълните оператор за вмъкване или актуализиране.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()