für ein Datenbankprojekt benutzen wir psycopg2 und Qt für die Guielemente.
Alles funktioniert bestens...bis auf eins: Angenommen jemand verletzt beim hinzufügen einer email z.B den Primärschlüssel.
Logischerweise wird eine Exception ausgelöst, nach auslösen, besteht die Verbindung zur Datenbank immer noch (man kann sich z.B als PersonalManager oder Admin erfolgreich anmelden, was jedoch nicht mehr geht, sind die ganzen aktualisierungen der QTableWidget.
Ein wenig code dazu:
Code: Alles auswählen
def insertAdmin(self,email,vname,name,pwd,strasse,hausnr,ort,plz,tel,gebdatum,typ):
sql = """BEGIN;INSERT INTO benutzer VALUES('%s','%s','%s','%s','%s',%s,'%s',%s,'%s','%s','%s');COMMIT;""" % (email,vname,name,pwd,strasse,hausnr,ort,plz,tel,gebdatum,typ)
try:
self.cur.execute(sql) # Bsp. Email schon vohanden löst exception aus
return "Benutzereintrag erfolgreich"
except:
return "Unable to insert into database"
Code: Alles auswählen
def get_PriceList(self):
try:
self.cur.execute("""SELECT * FROM kategorie""")
#springt er von hier wieder in die exception, was er nicht machen sollte
return self.cur.fetchall()
except:
return "Datenbank Zugriffsfehler"
Falls mehr Infos erwünscht, bitte fragen.
Gruß