我在ASP.Net页面上使用FormView控件,其中ObjectDataSource链接到连接到SQL Server中存储过程的Business Tier组件。我无法找到ObjectDataSource错误,我确保所有组件都包含参数(并且它们存在)。
我无法弄清楚为什么即使它们在那里也找不到参数?
存储过程:
UPDATE [Anime_List] SET [Name] = @name, [AnimeImage] = @anime_image, [Synopsis] = @synopsis, [Type] = @type, [Episodes] = @episodes, [Genres] = @genres, [Rating] = @rating WHERE (([AnimeID] = @original_animeID));
业务组件:
[DataObjectMethod(DataObjectMethodType.Update)]
public static void UpdateAnimeList(string name, string anime_image, string synopsis,
string type, short episodes, string genres, decimal rating, int original_animeID,
int animeID)
{
animeList.AnimeListUpdateCommand(name, anime_image, synopsis, type, episodes,
genres, rating, original_animeID, animeID);
}
数据库设计:
表适配器配置:
ASP.Net:
<asp:ObjectDataSource ID="AnimeDataSource" runat="server" DeleteMethod="DeleteAnimeTitle" InsertMethod="InsertAnimeList" OldValuesParameterFormatString="original_{0}" SelectMethod="GetAllTitles" TypeName="Business.BAnimeList" UpdateMethod="UpdateAnimeList">
<DeleteParameters>
<asp:Parameter Name="original_animeID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="anime_image" Type="String" />
<asp:Parameter Name="synopsis" Type="String" />
<asp:Parameter Name="type" Type="String" />
<asp:Parameter Name="episodes" Type="Int16" />
<asp:Parameter Name="genres" Type="String" />
<asp:Parameter Name="rating" Type="Decimal" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="anime_image" Type="String" />
<asp:Parameter Name="synopsis" Type="String" />
<asp:Parameter Name="type" Type="String" />
<asp:Parameter Name="episodes" Type="Int16" />
<asp:Parameter Name="genres" Type="String" />
<asp:Parameter Name="rating" Type="Decimal" />
<asp:Parameter Name="original_animeID" Type="Int32" />
<asp:Parameter Name="animeID" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
感谢您的帮助!
答案 0 :(得分:4)
似乎未能找到另一个AnimeImage。
我建议匹配大小写(大小写,不要使用under_case)和错误页面要求的参数顺序。
像
这样的东西[DataObjectMethod(DataObjectMethodType.Update)]
public static void UpdateAnimeList(string name, string **animeImage**, string synopsis,
string type, short episodes, string genres, decimal rating, int original_animeID,
int animeID) {
...
}