该查询似乎有效,但“选定条目”变成了一串数字,这会扰乱我的查询。
def find_roster(n=""):
global cursor
cursor.execute("""SELECT num, firstname, surname, assign FROM active WHERE num='%s'"""%(n))
rows = cursor.fetchall()
for results in rows:
rosterList.insert("end", results)
cursor.close()
print(n)
print(rows)
return rows
numLabel=Label(root, text="Employee #")
numLabel.grid(row=0,column=0)
findButt=Button(root, text="Find", width=12, command=find_roster)
findButt.grid(row=1, column=5)
num_input=StringVar()
num_input=Entry(root,textvariable=num_input)
num_input.grid(row=0,column=1)
-----
findButt=Button(root, text="Find", width=12, command=lambda: find_roster(num_input))
findButt.grid(row=1, column=5)
控制台打印结果
.140526443864584
()#QUERY RESULT
需要是
1-214
(1-214, JOE,HOEY,OFF) #QUERY RESULT
请注意:
num_input=StringVar()
num_input=Entry(root,textvariable=num_input)
这与以下内容非常相似:
a = 3
a = -4
但进一步补充:
a = 3
a = -4
print(a)
您认为这会打印出什么?
更换:
num_input=StringVar()
num_input=Entry(root,textvariable=num_input)
有:
anything_but = StringVar()
num_input = Entry(root, textvariable=anything_but)
因为你稍后将整个Entry
小部件分配为num_input
所以它会被覆盖。另外要将其内容作为字符串,您必须使用get
方法:
findButt=Button(root, text="Find", width=12,
command=lambda arg=anything_but.get(): find_roster(arg))