高效的asp.net sql查询
Posted
技术标签:
【中文标题】高效的asp.net sql查询【英文标题】:efficient asp.net sql query 【发布时间】:2013-05-22 09:01:42 【问题描述】:多年来一直使用这个网站,并且一直觉得它很有帮助,通常我的所有问题都可以通过阅读该网站得到解答。
我有一些关于网站的案例研究,而不是需要与网站的其他部分相关,我正在使用此代码从数据库中提取记录:-
<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>
我只是想知道是否有更简单的方法。
任何帮助将不胜感激。
干杯安迪
【问题讨论】:
比这个最小的中继器更简单?你有别的想法吗?也许您尝试多次这样做并寻找模板类型? 嘿,谢谢您的回复。我想知道是否有一种方法可以只使用一个查询。 完美的伴侣。谢谢你:) 【参考方案1】:我想知道是否有一种方法只需一个查询就可以做到这一点
要使其成为一个查询,只需将 SQL 调用更改为:
SELECT id,title,company FROM casestudies
WHERE id IN (SELECT id FROM markets_case_assign WHERE productid = @catid)
并且只使用一个中继器(内部的)。
现在你失去了用一些额外的标题、行等来分隔它们的额外高级功能。
【讨论】:
以上是关于高效的asp.net sql查询的主要内容,如果未能解决你的问题,请参考以下文章
为啥通过 ASP.NET 方法运行查询比原生 SQL 需要更长的时间?