def insert(self, gruppenteilnahme: GruppenTeilnahme): """Einfügen eines GruppenTeilnahme-Objekts in die Datenbank. Der Primärschlüssel wird dabei überprüft und ggf. berechtigt. :param: gruppenteilnahme: Das zu speichernde Objekt :return: Das bereits übergebene Objekt, jedoch mit ggf, korrigierter ID. """ cursor = self._cnx.cursor() cursor.execute("SELECT MAX(id) AS maxid FROM gruppen_teilnahmen") tuples = cursor.fetchall() for maxid in tuples: if maxid[0] is not None: gruppenteilnahme.set_id(maxid[0] + 1) else: gruppenteilnahme.set_id(1) command = ( "INSERT INTO gruppen_teilnahmen (id, erstellungszeitpunkt, person_id, gruppen_id, ist_admin) VALUES " "(%s,%s,%s,%s,%s)") data = ( gruppenteilnahme.get_id(), gruppenteilnahme.get_erstellungszeitpunkt(), gruppenteilnahme.get_person_id(), gruppenteilnahme.get_gruppen_id(), gruppenteilnahme.get_ist_admin(), ) cursor.execute(command, data) self._cnx.commit() cursor.close() return gruppenteilnahme
def delete(self, gruppenteilnahme: GruppenTeilnahme): """Löschen der Daten eines GruppenTeilnahme-Objekts aus der Datenbank. :param gruppenteilnahme: Das aus der Datenbank zu löschende Objekt """ cursor = self._cnx.cursor() command = "DELETE FROM gruppen_teilnahmen WHERE id={}".format( gruppenteilnahme.get_id()) cursor.execute(command) self._cnx.commit() cursor.close()
def update(self, gruppenteilnahme: GruppenTeilnahme): """Aktualisieren eines GruppenTeilnahme-Objekts in der Datenbank anhand seiner ID :param gruppenteilnahme: Das GruppenTeilnahme-Objekt, das in der Datenbank übergeschrieben werden soll """ cursor = self._cnx.cursor() command = ( "UPDATE gruppen_teilnahmen SET person_id=%s, gruppen_id=%s, ist_admin=%s " "WHERE id=%s") data = ( gruppenteilnahme.get_person_id(), gruppenteilnahme.get_gruppen_id(), gruppenteilnahme.get_ist_admin(), gruppenteilnahme.get_id(), ) cursor.execute(command, data) self._cnx.commit() cursor.close()