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/numberSQLクエリの一部ではない変数をバインドしていることを意味します。

つまり、GENRE_IDInsertParameters(バインドされたパラメーター)はSQLの一部ではなく、エラーがなくなるため、削除する必要があります。

于 2012-10-15T05:18:18.603 に答える