2011-08-10 3 views
0

SQL 데이터 소스에서 실행중인 모눈보기가 있습니다.절차 전송하는 것보다 더 많은 필드 지정

select 명령은 상당히 긴 쿼리입니다. 업데이트 명령은 일부 쿼리의 필드 만 업데이트하는 저장 프로 시저입니다. 그러나 어떤 이유로 업데이트를 실행할 때 .Net은 다른 SELECT 쿼리 필드 중 일부를 저장 프로 시저 호출에 추가합니다.

저장 프로 시저에 추가 필드를 추가했는데 여기에서이 작업을 수행하고있는 이유를 알고 싶습니다. (다른 곳에서는 10 개의 다른 위치에서 매우 비슷한 코드를 사용했습니다. 문제) 그리고 내가 외계인을 영구적으로 제거하기 위해 할 수있는 일.

이 내 데이터 소스

무엇 삽입에 대한
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="CONNECT STRING" 
SelectCommand="SELECT TID, CIName, TTDesc, TLA, TDesc, TDel = Case When (Select Count(PAID) from PropertyAttribute where PropertyAttribute.TID=T.TID)=0 then 'delete.gif' else 'onepixblank.gif' End, 'transportdel.asp?TID=' + Convert(varchar(10),TID) as TDelLink FROM Transport T, CountryID C, TransportType TT where T.TType=TT.TType and T.CIID=C.CIID and TT.CIID=C.CIID order by C.CIID, TT.TType, TDesc" 
UpdateCommand="TransportUpdate" UpdateCommandType="StoredProcedure"> 
    <UpdateParameters> 
     <asp:Parameter Name="TID" Type="Int32" 
     <asp:Parameter Name="TDesc" Type="String" 
     <asp:Parameter Name="TLA" Type="String" 
     <asp:ControlParameter ControlID="UserName" Name="UName" PropertyName="Text /> 
    </UpdateParameters> 
</asp:SqlDataSource> 

답변

0

입니까? InsertCommand를 설정할 필요가 없습니까? DataSource에서 자동으로 채워진 표를 자주 사용하지는 않지만 (어떤 일이 발생하는지 제어하는 ​​것을 선호 함) InsertCommand는 SelectCommand에서 자동으로 생성된다고 생각합니다. 어쩌면 그것은 당신의 경우에 있습니다 : 그것은 업데이트가 아니라 삽입물입니까? 아니면 내가 완전히 틀렸어?

+0

아니요 - 확실히 삽입물이 아닙니다 (다른 곳에서 처리되고 별도로 처리됩니다). 이는 삽입문이없는 이유이기도합니다. – Rachel

관련 문제