2013-05-22 4 views
2

수년간이 사이트를 사용 해왔고 항상 매우 유용하다는 것을 알았고 일반적으로 내 질문은 사이트를 읽음으로써 답변을 얻었습니다.효율적인 asp.net SQL 쿼리

나는 필요가 사이트의 다른 부분과 관련이있을하고 난 데이터베이스에서 레코드를 끌어이 코드를 사용하고보다 사이트에 대한 몇 가지 사례를 가지고있다 -

<div id="sidebar"> 
    <asp:accessdatasource 
    id="cskey" 
    runat="server" 
    datasourcemode="DataSet" 
    datafile="_db/db.mdb" 
    selectcommand="SELECT id FROM markets_case_assign WHERE productid = @catid"> 
    <SelectParameters> 
     <asp:QueryStringParameter Name="catid" QueryStringField="id" DefaultValue="1" /> 
    </SelectParameters> 
    </asp:accessdatasource> 
    <asp:Repeater id="cskeycontent" runat="server" DataSourceID="cskey"> 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Visible="false" Text='<%#Eval("id")%>'></asp:Label> 
     <asp:accessdatasource 
    id="csval" 
    runat="server" 
    datasourcemode="DataSet" 
    datafile="_db/db.mdb" 
    selectcommand="SELECT id,title,company FROM casestudies WHERE id = @pid"> 
     <SelectParameters> 
      <asp:controlparameter name="pid" controlid="Label1" DefaultValue="1" /> 
     </SelectParameters> 
     </asp:accessdatasource> 
     <asp:Repeater id="csvalcontent" runat="server" DataSourceID="csval"> 
     <ItemTemplate> 
      <div class="case-studies"> 
      <h2><%#Eval("company")%></h2> 
      <p><%#Eval("title")%></p> 
      <p class="no-margin-bottom"><a href="case-study.aspx?id=<%#Eval("id")%>" class="read-more">Read case study</a></p> 
      </div> 
     </ItemTemplate> 
     </asp:Repeater> 
    </ItemTemplate> 
    </asp:Repeater> 
</div> 

난 그냥 궁금했다 그것을하는 간단한 방법이 있습니다.

도움을 주시면 감사하겠습니다.

건배 앤디

+0

이 최소 리피터보다 훨씬 간단합니까? 마음에 뭔가가 있습니까? 어쩌면 당신은 여러 번 그것을하려고하고 템플릿 종류를 찾으려고합니까? – Aristos

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 단 하나의 쿼리로이 작업을 수행하는 방법이 있는지 궁금합니다. –

+0

완벽한 동료가 작동합니다. 고마워요. –

답변

0

그것은 하나 개의 쿼리 단지와 SQL 호출 변경 만들려면 하나 개의 쿼리를 수행하는 방법이 있다면 궁금 해서요 :

SELECT id,title,company FROM casestudies 
    WHERE id IN (SELECT id FROM markets_case_assign WHERE productid = @catid) 

하나의 리피터 (내부 하나) 만 사용하십시오.

이제 추가 머리글, 줄 등을 사용하여 별도의 고급 헤더를 분리 할 수 ​​있습니다.

+1

완벽하게 작동하는 친구. 고맙습니다 :) –