我有一个带值的组合框。 和一个mysql查询。 但是我不知道如何在查询中应用组合框的值。
#COMBO TYPE
def combo_input_type():
conn = connect_db()
cursor = conn.cursor()
cursor.execute("SELECT t1.type FROM maker_types t1 INNER JOIN makers t2 ON t1.maker_id = t2.id WHERE maker_name = 'test 1'")
#query = "SELECT t1.type FROM maker_types t1 INNER JOIN makers t2 ON t1.maker_id = t2.id WHERE maker_name = (%s)"
#cursor.execute (query,combo_maker)
result=cursor.fetchall()
return result
#COMBO TYPE
我想通过我的组合值更改test 1
。
谢谢。
答案 0 :(得分:0)
#COMBO TYPE
def combo_input_type():
combo_value= combobox.get() #value from your combo
conn = connect_db()
cursor = conn.cursor()
cursor.execute("SELECT t1.type FROM maker_types t1 INNER JOIN makers t2 ON t1.maker_id = t2.id WHERE maker_name = '%s'", [combo_value])
#query = "SELECT t1.type FROM maker_types t1 INNER JOIN makers t2 ON t1.maker_id = t2.id WHERE maker_name = (%s)"
#cursor.execute (query,combo_maker)
result=cursor.fetchall()
return result
#COMBO TYPE
获取组合的当前值:
使用get()方法获取元素本身。
combo_value= combobox.get()
参数化查询:
我们正在为值传递参数(%s)。您必须提供值代替占位符(%s),然后才能使用Prepared Statement执行此查询。在这里,我们在占位符的位置提供了python变量。
cursor.execute("SELECT t1.type FROM maker_types t1 INNER JOIN makers t2 ON t1.maker_id = t2.id WHERE maker_name = '%s'", [combo_value])