Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Transaktion für die Änderung der Informationen eines Kunden
- def kunde_speichern(args_dic, kundenid, session):
- conn = pg.connect(host=HOST, database=DATABASE, user=USER, password=PW)
- curs = conn.cursor()
- spaltennamen = map(lambda x: x[0], get_spalte_type('customers'))
- korrekt = True
- curs.execute("BEGIN")
- curs.execute("SELECT * FROM customers WHERE customerid = " + str(kundenid) + " FOR UPDATE")
- aktuelle_daten = [x for x in curs.fetchone()]
- for i in range(len(spaltennamen)):
- if str(session[spaltennamen[i]]) != str(aktuelle_daten[i]):
- korrekt = False
- break
- if korrekt:
- sets = []
- eingabe_list = []
- for key in args_dic:
- sets.append(key + " = %s")
- eingabe_list.append(args_dic[key])
- try:
- curs.execute("UPDATE customers SET " + ", ".join(sets) + " WHERE customerid = " + str(kundenid), tuple(eingabe_list))
- conn.commit()
- return (True,)
- except pg.DataError:
- conn.rollback()
- return (False, "Sie haben einen falschen Datentyp angegeben, Ihre Änderungen wurden nicht übernommen.")
- else:
- return (False, "Die Daten haben sich in der Zwischenzeit geändert, Ihre Änderungen wurden nicht übernommen.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement