コード例 #1
0
    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
コード例 #2
0
    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()
コード例 #3
0
    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()