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