C# ORA-01036:在数据源上使用Insert命令时
正在尝试在asp.net中设置insert语句 我的insertCommand如下所示: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
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)
);