sql >> Database >  >> RDS >> Mysql

Python:MySQL-verbinding is open, maar kan geen cursor maken

Ik zou de verklaring die controleert of de verbinding open is, wijzigen om zowel te controleren of conn niets is als of de verbinding open is. En omdat je altijd de setValue . uitvoert functie Ik zou aanraden dat je de connect aanroept in de__init__ functie.

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()

Onthoud ook dat je met de Python MySQL Connector commit moet aanroepen nadat je een insert- of update-statement hebt uitgevoerd.

cur =  self.conn.cursor()
cur.execute("...")
self.conn.commit()



  1. Hoe MySQL verbinden met Java?

  2. Waarom stelt Eclipse Object voor als standaardtoewijzingstype voor gegevenstype Tekst?

  3. Flask-SQLAalchemy controleert of de databaseserver reageert

  4. Hoe een database te maken in een database-docker-container?