2013-05-20 2 views
1

SQL Server의 저장 프로 시저에 연결된 비즈니스 계층 구성 요소에 연결된 ObjectDataSource가 포함 된 ASP.Net 페이지에서 FormView 컨트롤을 사용하고 있습니다. 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 같은

뭔가. 그게 효과가 있었어. 정말 이상한, 내 저장 프로 시저에서 매개 변수 식별자로 밑줄을 사용하지만 비즈니스 메서드는 그것을 좋아하지 않습니다. 감사! –

관련 문제