0

试图在 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)
);

我认为这是变量类型的潜在冲突,因为参数部分中的变量类型确实与我的表中的不同,但我尝试将它们交换为更合适的类型,但无济于事!

4

1 回答 1

0

ORA-01036: illegal variable name/number意味着您正在绑定一个不属于 SQL 查询的变量。

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

于 2012-10-15T05:18:18.603 回答