ORA-01036:在数据源上使用Insert命令时

时间:2012-10-15 04:46:08

标签: c# asp.net datasource 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 个答案:

答案 0 :(得分:0)

ORA-01036: illegal variable name/number表示您绑定的变量不是SQL查询的一部分。

换句话说,您需要从InsertParameters(绑定参数)中删除GENRE_ID,因为它不是SQL的一部分,错误应该消失。

相关问题