2013-05-20 78 views
1

我在一個ASP.Net頁面上使用了一個FormView控件,該頁面上的ObjectDataSource鏈接到連接到SQL Server存儲過程的業務層組件。我得到的ObjectDataSource無法找到錯誤,我已確保所有組件都包含參數(以及它們的存在)。ASP.NET ObjectDataSource找不到具有參數的非泛型方法

enter image description here

我想不通爲什麼它不能找到這些參數,即使他們在那裏?

存儲過程:

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); 
} 

數據庫設計:

enter image description here

表適配器配置:

enter image description here

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

它似乎失敗尋找另一個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) { 
    ... 
} 
+0

Ahaha。這工作。真的很奇怪,我在我的存儲過程中使用下劃線作爲參數標識符,但Business方法不喜歡它。謝謝! –

相關問題