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

C# ORA-01036:在数据源上使用Insert命令时,c#,asp.net,datasource,ora-01036,C#,Asp.net,Datasource,Ora 01036,正在尝试在asp.net中设置insert语句 我的insertCommand如下所示: InsertCommand="INSERT INTO DVD VALUES (DVD_SEQ.NEXTVAL, :DVD_TITLE, :RENTAL_COST, :RATING, :COVER_IMAGE)" 插入参数的代码为: <InsertParameters> <asp:ControlParameter ControlID="titleBox" DefaultValue

正在尝试在asp.net中设置insert语句

我的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>
我认为这是变量类型的潜在冲突,因为参数部分中的变量类型与表中的变量类型不同,但我尝试将它们交换为更合适的类型,但没有任何效果

表示绑定的变量不是SQL查询的一部分


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

您可以在插入查询中指定列名,然后尝试,
插入DVd(您的列…)值(…)
InsertParameters中的
类型ID
在哪里?@Habib我不认为这是必要的,我已经在DB上执行了相同的语法查询,它没有返回任何错误。@JoachimIsaksson类型ID没有被使用,它在insert命令的第二个查询中使用,我还没有添加,因为我还在调试这个查询:(说明
操作:确保要绑定的变量在sql语句中。
哪个
类型ID
不是。请尝试删除它。
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)
);