def bul():
global entry_bul
pencere = Toplevel()
etiket= Label(pencere,text="\n# Which record do you want to find?Please enter the Student ID number.\n")
etiket.pack()
entry_bul=Entry(pencere)
entry_bul.pack()
btn = Button(pencere,text="Find the student",bg="orange",fg="navy",command=sorgula)
btn.pack()
def sorgula():
conn = connect(database="dorm", user="postgres", password="605394", host="127.0.0.1", port="5432")
print "Opened database successfully"
cur = conn.cursor()
cur.execute("SELECT * FROM pers_info, school_info, room_info WHERE ID_num = (%s) ;", (entry_bul.get(),));
rows = cur.fetchall()
for row in rows:
print row[0], row[1], row[2], row[3],row[4]
print "Operation done successfully";
conn.commit()
conn.close()
Diese Funktionen werden ohne Fehler ausgeführt. Aber es gibt nicht die Ausgabe der for-Schleife auf dem Bildschirm. Die Ergebnisse auf dem Bildschirm sind:Ich kann die Ausgabe von Postgresql Datenbankzugriffsprogramm nicht sehen
Opened database successfully
Operation done successfully
haben Sie die Daten mit ähnlichem Code eingegeben? dann wäre es keine Überraschung, dass es keine Daten gibt: Sie nennen nicht "conn.commit"; Das Aufrufen einer Funktion erfolgt mit '()': 'conn.commit()'. und es ist kein Commit erforderlich, wenn Sie nur von einer Datenbank lesen. –
Verwenden Sie einen besseren Titel - "Ich kann die Ausgabe nicht sehen" ist nicht sehr nützlich für mögliche Antworten. –
Ich habe das Commit() behoben, aber es ist immer noch dasselbe. Ich denke, "WHERE id_num = (% s);", (entry_bul.get())“Teil ein Problem hat, es ist wie es die entry_bul.get sehen tut() –