Как использовать запрос со значением в выпадающем списке? - PullRequest
0 голосов
/ 02 мая 2019

У меня есть выпадающий список со значениями. И запрос 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 на свое комбо-значение. Спасибо.

1 Ответ

0 голосов
/ 03 мая 2019
#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), прежде чем сможете выполнить этот запрос, используя Подготовленный оператор. Здесь мы предоставляем переменные 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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...