wir Ihr bereits aus der Betreffzeile entnehmen könnt handelt es sich genau um diesen Fehler.
Ich weiß selbst nicht was passiert ist da der Code funktionierte und ich Daten die ich in die Entry-Felder
eingegeben hatte auch an die Datenbank übertragen wurden.
Ich wollte nur die ersten Zeilen was die Datenbank betrifft anpassen und irgendwie muss sich ein Fehler
eingeschlichen haben und ich such mich echt dumm und dusselig. :K
Vielleicht kann mir einer von euch helfen und den Tip geben wo der Fehler auf einmal her kommt.
Danke, Kalli
Code: Alles auswählen
import psycopg2
from tkinter import *
from tkinter.ttk import *
def senden():
connection = psycopg2.connect(database="sqltest")
cursor = connection.cursor()
#Tabelle erzeugen
sql = "CREATE TABLE IF NOT EXISTS personen(" \
"titel TEXT, " \
"name TEXT, " \
"vorname TEXT, " \
"anrede TEXT, " \
"geburtstag TEXT, " \
"staat TEXT, " \
"steuerident TEXT, " \
"finanzamt TEXT, " \
"strasse TEXT, " \
"hausnummer TEXT, " \
"ort TEXT, " \
"plz TEXT, " \
"telefon TEXT, " \
"telefax TEXT)"
cursor.execute(sql)
sql = "INSERT INTO personen VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" % \
(titel.get(), name.get(), vorname.get(),
anrede.get(), geburtstag.get(), staat.get(),
steuer.get(), finanzamt.get(), strasse.get(),
hausnr.get(), plz.get(), ort.get(),
telefon.get(), telefax.get())
cursor.execute(sql)
connection.close()
#Inhalt der Eingabefelder nach dem senden leeren
titel.delete(0, END)
name.delete(0, END)
vorname.delete(0, END)
anrede.delete(0, END)
geburtstag.delete(0, END)
staat.delete(0, END)
steuer.delete(0, END)
finanzamt.delete(0, END)
strasse.delete(0, END)
hausnr.delete(0, END)
plz.delete(0, END)
ort.delete(0, END)
telefon.delete(0, END)
telefax.delete(0, END)
def abbruch():
titel.delete(0, END)
name.delete(0, END)
vorname.delete(0, END)
anrede.delete(0, END)
geburtstag.delete(0, END)
staat.delete(0, END)
steuer.delete(0, END)
finanzamt.delete(0, END)
strasse.delete(0, END)
hausnr.delete(0, END)
plz.delete(0, END)
ort.delete(0, END)
telefon.delete(0, END)
telefax.delete(0, END)
root = Tk()
root.title('WBS') # title for top-level window
master = Frame(root, name='master') # create Frame in "root"
master.pack(fill=BOTH) # fill both sides of the parent
# quit if the window is deleted
root.protocol("WM_DELETE_WINDOW", master.quit)
nb = Notebook(master, name='nb') # create Notebook in "master"
nb.grid(row=6, column=2) # fill "master" but pad sides
#Tabs hinzufügen
tab_kunde_neu = Frame(nb, name='tab-kunde-neu')
nb.add(tab_kunde_neu, text="Kunde (neu)")
tab_kunde = Frame(master, name='tab-kunde')
nb.add(tab_kunde, text="Kunde")
tab_vermittler_neu = Frame(nb, name='tab-vermittler-neu')
nb.add(tab_vermittler_neu, text="Vermittler (neu)")
tab_vermittler = Frame(nb, name='tab-vermittler')
nb.add(tab_vermittler, text="Vermittler")
#Beschriftung
Label(tab_kunde_neu, text="Titel", font="Helvetica 11 bold").grid(row=0, column=0)
Label(tab_kunde_neu, text="Name", font="Helvetica 11 bold").grid(row=0, column=2)
Label(tab_kunde_neu, text="Vorname", font="Helvetica 11 bold").grid(row=0, column=4)
Label(tab_kunde_neu, text="Anrede", font="Helvetica 11 bold").grid(row=1, column=0)
Label(tab_kunde_neu, text="Geburtstag", font="Helvetica 11 bold").grid(row=1, column=2)
Label(tab_kunde_neu, text="Staatsangehörigkeit", font="Helvetica 11 bold").grid(row=1, column=4)
Label(tab_kunde_neu, text="Steueridentifikationsnummer", font="Helvetica 11 bold").grid(row=2, column=0)
Label(tab_kunde_neu, text="Finanzamt", font="Helvetica 11 bold").grid(row=2, column=2)
Label(tab_kunde_neu, text="Strasse", font="Helvetica 11 bold").grid(row=3, column=0)
Label(tab_kunde_neu, text="Hausnummer", font="Helvetica 11 bold").grid(row=3, column=2)
Label(tab_kunde_neu, text="Postleitzahl", font="Helvetica 11 bold").grid(row=4, column=0)
Label(tab_kunde_neu, text="Ort", font="Helvetica 11 bold").grid(row=4, column=2)
Label(tab_kunde_neu, text="Telefon", font="Helvetica 11 bold").grid(row=5, column=0)
Label(tab_kunde_neu, text="Telefax", font="Helvetica 11 bold").grid(row=5, column=2)
#Eingabefelder
titel = Entry(tab_kunde_neu).grid(row=0, column=1)
name = Entry(tab_kunde_neu).grid(row=0, column=3)
vorname = Entry(tab_kunde_neu).grid(row=0, column=5)
anrede = Entry(tab_kunde_neu).grid(row=1, column=1)
geburtstag = Entry(tab_kunde_neu).grid(row=1, column=3)
staat = Entry(tab_kunde_neu).grid(row=1, column=5)
steuer = Entry(tab_kunde_neu).grid(row=2, column=1)
finanzamt = Entry(tab_kunde_neu).grid(row=2, column=3)
strasse = Entry(tab_kunde_neu).grid(row=3, column=1)
hausnr = Entry(tab_kunde_neu).grid(row=3, column=3)
plz = Entry(tab_kunde_neu).grid(row=4, column=1)
ort = Entry(tab_kunde_neu).grid(row=4, column=3)
telefon = Entry(tab_kunde_neu).grid(row=5, column=1)
telefax = Entry(tab_kunde_neu).grid(row=5, column=3)
Button(tab_kunde_neu, text='Schließen', command=master.quit).grid(row=8, column=0, sticky=W, pady=4)
Button(tab_kunde_neu, text='Speichern', command=senden).grid(row=8, column=1, sticky=W, pady=4)
Button(tab_kunde_neu, text='Abbruch', command=abbruch).grid(row=8, column=2, sticky=W, pady=4)
if __name__ == "__main__":
master.mainloop() # call master's Frame.mainloop() method.
root.destroy() # if mainloop quits, destroy window
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib64/python3.2/tkinter/__init__.py", line 1399, in __call__
return self.func(*args)
File "bla bla bla", line 32, in senden
(titel.get(), name.get(), vorname.get(),
AttributeError: 'NoneType' object has no attribute 'get'