Python ist neu für mich, und ich spiele grade ein wenig damit herum.
Konkret sitze ich ein kleiner Datenbank-Klasse, die die Verbindung herstellen und Abfragen ausführen und loggen soll.
Ich nutze dazu MySQLdb.
Innerhalb der Klasse habe ich als Eigenschaften u.a.:
Code: Alles auswählen
self.connection = MySQLdb.connect(self.hostname, self.username, self.password, self.database)
self.cursor = self.connection.cursor()
Das klappt auch, aber der Returnwert ist mir schleierhaft.
Code: Alles auswählen
def execute(self, query):
if(self.cursor):
try:
self.queries.append(query)
return self.cursor.execute(query)
except Exception as e:
logging.error('DB-Execution Error: %s', str(e))
return False
else:
logging.warning('Trying to execute query without connection (%s)', query)
return False
Was ich gerne tun würde:
Code: Alles auswählen
db = meineDBKlasse()
result = db.execute("SELECT * FROM tabelle")
rows = result.fetchall()
Warum klappt das nicht, das hier aber schon:
Code: Alles auswählen
def execute(self, query):
if(self.cursor):
try:
self.queries.append(query)
result = self.cursor.execute(query)
return result.fetchall()
except Exception as e:
logging.error('DB-Execution Error: %s', str(e))
return False
else:
logging.warning('Trying to execute query without connection (%s)', query)
return False
Hat jemand eine Idee?