1

SQL Server のストアド プロシージャに接続されたビジネス層コンポーネントにリンクされた ObjectDataSource を持つ ASP.Net ページで FormView コントロールを使用しています。ObjectDataSource could not be found エラーが発生し、すべてのコンポーネントにパラメーターが含まれていること (およびそれらが存在すること) を確認しました。

ここに画像の説明を入力

パラメータが存在するのに、なぜパラメータが見つからないのかわかりませんか?

ストアド プロシージャ:

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>

ご協力いただきありがとうございます!

4

1 に答える 1

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) {
    ...
}
于 2013-05-20T01:43:11.210 に答える