我可以访问数据库并填充列表框,但无法根据条目字符串中的文本进行搜索。
async void Handle_Tapped(object sender, System.EventArgs e)
{
await DisplayAlert("Hey", "Does this work?", "OK");
}
我选择了特定的语法
以下是错误:TypeError:find_roster()缺少1个必需的位置参数:' num_input'
我很欣赏任何方向。
答案 0 :(得分:1)
只需将lambda
用于Tkinter command
回调,并将 num_input 值作为参数传递。此外,调整数据库连接和游标对象以使用您的进程并使用SQL参数化:
dbi = pymysql.connect(...) # OUTSIDE OF FUNCTION
def find_roster(n):
cursor = dbi.cursor()
cursor.execute("SELECT num, firstname, surname, duty FROM active WHERE num = %s", (n,))
rows = cursor.fetchall()
for results in rows:
rosterList.insert("end", results)
cursor.close()
return rosterList
#... other code
findButt=Button(root, text="Find", width=12, command=lambda: find_roster(num_input))
dbi.close() # OUTSIDE OF FUNCTION
答案 1 :(得分:0)
我自己解决了这个问题(更新后期)。只需添加
即可解决此问题def find_roster(n):
n=num_input.get()
与DB查询无关只是简单的语法遗漏..