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, и ошибка должна исчезнуть.