如何将选定的数据条目应用于我的sql更新功能?

时间:2017-12-26 18:58:22

标签: python mysql

我可以访问数据库并填充列表框,但无法根据条目字符串中的文本进行搜索。

async void Handle_Tapped(object sender, System.EventArgs e)
        {
            await DisplayAlert("Hey", "Does this work?", "OK");
        }

我选择了特定的语法

以下是错误:TypeError:find_roster()缺少1个必需的位置参数:' num_input'

我很欣赏任何方向。

2 个答案:

答案 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查询无关只是简单的语法遗漏..