ORA-01036: при использовании команды Вставка в источник данных

Попытка настроить оператор вставки в asp.net.

Мой insertCommand выглядит следующим образом:

InsertCommand="INSERT INTO DVD VALUES (DVD_SEQ.NEXTVAL, :DVD_TITLE, :RENTAL_COST, :RATING, :COVER_IMAGE)" 

Код для параметров вставки:

<InsertParameters>
    <asp:ControlParameter ControlID="titleBox" DefaultValue="TITLEDEFAULT" 
        Name="DVD_TITLE" PropertyName="Text" Type="String" />
    <asp:ControlParameter ControlID="rentalBox" DefaultValue="99" 
        Name="RENTAL_COST" PropertyName="Text" Type="String" />
    <asp:ControlParameter ControlID="ratingList" DefaultValue="25" Name="RATING" 
        PropertyName="SelectedValue" Type="Int32" />
    <asp:Parameter Name="COVER_IMAGE" Type="String" DefaultValue="0.jpg" />
    <asp:ControlParameter ControlID="genreList" Name="GENRE_ID" 
        PropertyName="SelectedValue" />
</InsertParameters>

И моя таблица OracleDB (DVD), которая вставляется в это:

create table dvd
(
dvd_id integer primary key not null,
dvd_title char(100) not null,
rental_cost number(9,2) not null,
rating integer not null,
cover_image char(100),
foreign key(rating) references RATING(rating_id)
);

Я думаю, что это потенциальный конфликт типов переменных, так как типы переменных в разделе параметров действительно отличаются от тех, что в моей таблице, но я попытался поменять их на более подходящие типы, но безрезультатно!

1 ответ

ORA-01036: illegal variable name/number означает, что вы связываете переменную, которая не является частью запроса SQL.

Другими словами, вам нужно удалить GENRE_ID из вашего InsertParameters (связанные параметры), поскольку он не является частью SQL, и ошибка должна исчезнуть.

Другие вопросы по тегам