Advertisement
Guest User

Untitled

a guest
Jul 13th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. # Transaktion für die Änderung der Informationen eines Kunden
  2. def kunde_speichern(args_dic, kundenid, session):
  3.     conn = pg.connect(host=HOST, database=DATABASE, user=USER, password=PW)
  4.     curs = conn.cursor()
  5.  
  6.     spaltennamen = map(lambda x: x[0], get_spalte_type('customers'))
  7.     korrekt = True
  8.  
  9.     curs.execute("BEGIN")
  10.     curs.execute("SELECT * FROM customers WHERE customerid = " + str(kundenid) + " FOR UPDATE")
  11.     aktuelle_daten = [x for x in curs.fetchone()]
  12.     for i in range(len(spaltennamen)):
  13.         if str(session[spaltennamen[i]]) != str(aktuelle_daten[i]):
  14.             korrekt = False
  15.             break
  16.     if korrekt:
  17.         sets = []
  18.         eingabe_list = []
  19.         for key in args_dic:
  20.             sets.append(key + " = %s")
  21.             eingabe_list.append(args_dic[key])
  22.         try:
  23.             curs.execute("UPDATE customers SET " + ", ".join(sets) + " WHERE customerid = " + str(kundenid), tuple(eingabe_list))
  24.             conn.commit()
  25.             return (True,)
  26.         except pg.DataError:
  27.             conn.rollback()
  28.             return (False, "Sie haben einen falschen Datentyp angegeben, Ihre Änderungen wurden nicht übernommen.")
  29.     else:
  30.         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