2017-01-03 3 views
2
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 
+0

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. –

+0

Verwenden Sie einen besseren Titel - "Ich kann die Ausgabe nicht sehen" ist nicht sehr nützlich für mögliche Antworten. –

+0

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() –

Antwort

0

auf der Leerzeile Basierend zwischen „Geöffnete Datenbank erfolgreich“ und „Operation erfolgreich durchgeführt:“ Ich würde davon ausgehen, dass die print-Anweisung in dem for-Schleife nur einmal ausgeführt wird, und dass es in der ersten und einzigen Zeile keine Werte gibt.

+0

es tatsächlich keine leere Zeile es wie –

+0

ist @SerdarDarende Das ist eigentlich wirklich hilfreich ist dann für das Debuggen. Das bedeutet, dass Ihre for-Schleife nicht läuft, also würde ich überprüfen, ob Ihre "rows" -Variable gefüllt ist. Hoffe, dass dies hilft und mich auf dem Laufenden –

+0

Ich habe das überprüft, aber keine Änderung. Ich denke, das Problem ist in der "ID_num = (% s);" (entry_bul.get(),) "aber ich konnte das Problem nicht bekommen. –

Verwandte Themen