2013-05-20 4 views
1

Я использую элемент управления FormView на странице ASP.Net с объектом 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

Таблица Adapter Configuration:

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

ахаха. Это сработало. Действительно странно, но я использовал подчеркивания в качестве идентификатора параметра в моей хранимой процедуре, но метод Business не нравится. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^