繁体   English   中英

如何使用带有组合框值的查询?

[英]How to use a query with combobox value?

我有一个带有值的组合框。 和一个 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 谢谢。

#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

获取 Combo 的当前值:

使用 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])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM