Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我看不到postgresql数据库访问程序的输出_Python_Postgresql_Python 2.7 - Fatal编程技术网

Python 我看不到postgresql数据库访问程序的输出

Python 我看不到postgresql数据库访问程序的输出,python,postgresql,python-2.7,Python,Postgresql,Python 2.7,这些函数运行时不会出错。但它不会在屏幕上给出for循环的输出。 屏幕上的结果是: 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(pe

这些函数运行时不会出错。但它不会在屏幕上给出for循环的输出。 屏幕上的结果是:

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

基于成功打开的数据库和成功的操作之间的空行,假设在for循环中的打印语句只运行一次,并且第一行和唯一行中没有值。那么,没有数据也就不足为奇了:您不调用conn.commit;调用函数是通过:conn.commit完成的。如果只从数据库中读取,则无需提交。请使用更好的标题-我看不出输出对可能的答案不是很有用。我修复了提交,但它仍在执行相同的操作。我认为其中ID_num=%s;,入口,零件有问题。这就像它没有看到条目_bul.Get一样,我也尝试了一个类似的基本代码。它起作用了。正如我所说,我认为t与ID_num=%s;有关;,进入,进入,进入,;这是干什么的?cur.executes从个人信息、学校信息、房间信息中选择*,其中ID\u num=%s;,进入,进入,进入,;实际上没有空行like@SerdarDarende这实际上对调试很有帮助。这意味着您的for循环没有运行,所以我会检查以确保您的rows变量正在填充。希望这对我有帮助,让我不断更新。我查过了,但没有变化。我认为问题出在ID_num=%s;,条目_bul.get,但我无法解决问题。请尝试将该SQL语句保存到变量中,然后打印它并将其传递给curr.execute。这将帮助您开始追溯它,以查看该字符串是否是您想要的字符串。不幸的是,没有更改

Opened database successfully
Operation done successfully