Хобрук: Ваш путь к мастерству в программировании

Возникла проблема с Oracle ORA-01036: недопустимое имя/номер переменной

Мне нужно подставить следующие значения в запрос выбора. но я получил ошибку, как я уже упоминал ниже

def addSoil(self):
    name = self.ent_name.get()
    texture = self.ent_texture.get()
    colour = self.ent_colour.get()
    capacity = self.ent_capacity.get()
    equation = self.ent_equation.get()

    try:
        con = cx_Oracle.connect('hr/[email protected]/xepdb1')
        cursor = con.cursor()

        cursor.execute('INSERT INTO soildata (soil_name, soil_text, soil_colour, soil_waterhold, soil_chemicalequ) '
                       'VALUES(%s,%s,%s,%s,%s)', (name,texture,colour,capacity,equation))

        con.commit()

    except cx_Oracle.DatabaseError as e:
        print("There is a problem with Oracle", e)

    finally:
        if cursor:
            cursor.close()
        if con:
            con.close()

  • какие типы хранятся в вашем self.ent_*. ? Проверьте имена soil_name, soil_text, soil_colour, soil_waterhold, soil_chemicalequ 19.03.2020
  • Попробуйте изменить пять заполнителей %s на что-то вроде :1,:2,:3,:4,:5. 19.03.2020

Ответы:


1

Вы использовали неправильный синтаксис заполнителя. Вам нужно сделать что-то вроде этого:

cursor.execute('INSERT INTO soildata (soil_name, soil_text, soil_colour, soil_waterhold, soil_chemicalequ) '
               'VALUES(:1,:2,:3,:4,:5)', (name,texture,colour,capacity,equation))

Вы можете взглянуть на документацию, а также дополнительную помощь.

20.03.2020
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

Базовое руководство по переносу концепций обучения в глубокое обучение
Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..