Psycopg2 nach except cursor nicht mehr zugreifbar
Verfasst: Samstag 18. Februar 2012, 16:37
Hi,
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:
wenn ich jetzt bestimmte Tabellen updaten möchte:
Anscheinend ist das Cursor Element nicht mehr aktuell, aber wie vermeide ich das.
Falls mehr Infos erwünscht, bitte fragen.
Gruß
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ß