我希望Python能够显示来自Access on Label的数据。我试着像这样做,但它不起作用。没有错误,但Label显示pypyodbc.Cursor object at 0x05E02990
。我该怎么办?谢谢
from tkinter import *
import pypyodbc
import ctypes
#Create connection
con = pypyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/Users/HP/Desktop/PITL;DBQ=C:/Users/HP/Desktop/PITL/PITL.mdb;')
cursor = con.cursor ()
form = Tk ()
form.title ("Main")
form.geometry ('400x400')
form2 = Tk ()
form2.title ("Main")
form2.geometry ('400x400')
form2.withdraw()
def Show():
cursor.execute ("SELECT Law_ID FROM Laws WHERE Fine=1")
a=cursor.execute
for a in cursor:
print ("Law ID where Fine is 1 is", a)
Label(form2, text=cursor).pack()
form.withdraw()
form2.deiconify()
Button(form, text = 'PUSH ME', command = Show).pack()
form.mainloop ()
con.commit ()
cursor.close ()
con.close ()
答案 0 :(得分:2)
错误是因为您正在打印光标对象的值,它始终是一个位置,在您的情况下" 0x05E02990"。要获取光标检索的值,您必须编写:
variable_name = cursor.fetchall()
在您的代码中:
def Show():
cursor.execute ("SELECT Law_ID FROM Laws WHERE Fine=1")
a=cursor.fetchall()
##print as you like
它将获取光标
检索的所有数据