Tôi sẽ thay đổi câu lệnh kiểm tra xem kết nối có mở hay không để kiểm tra xem có phải conn không cũng như kết nối có mở hay không. Và bởi vì bạn luôn thực thi setValue
Tôi khuyên bạn nên gọi kết nối bên trong __init__
chức năng.
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()
Ngoài ra, hãy nhớ rằng với Trình kết nối Python MySQL, bạn cần gọi cam kết sau khi thực hiện câu lệnh chèn hoặc cập nhật.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()