如何使用SQL COUNT(*)读取条目数

时间:2012-01-25 18:16:01

标签: c# sql count repeater

如何使用SQL COUNT(*)读取条目数

您好, 我不知道读表中的条目数。 (我想用asp:Repeader)

sql = "SELECT COUNT(*) FROM Table";

<asp:Repeater id="Repeater01" runat="server">
 <ItemTemplate>
  <%# DataBinder.Eval(Container.DataItem, "????????") %>
 </ItemTemplate>
</asp:Repeater>

什么是????声明? 感谢。

编辑:这是我的SQL语句:

select t.tip_adi, count(oda.oda_tip_id) from oteldb.tip t 
left join (select oda_tip_id from oteldb.oda o 
       where not exists (
              select null from oteldb.rezervasyon r 
              where r.rezervasyon_oda_id = o.oda_id 
              and r.rezervasyon_gt <= '2012-01-22' 
              and '2012-01-03' <= r.rezervasyon_c
       ) ) oda on oda.oda_tip_id = t.tip_id 
group by t.tip_adi

3 个答案:

答案 0 :(得分:2)

您需要为COUNT(*)设置别名,如下所示:

sql = "SELECT COUNT(*) AS MyCount FROM Table";

现在您已经定义了一个名称,您可以开始使用MyCount

现在你可以这样做:

<%# DataBinder.Eval(Container.DataItem, "MyCount") %>

根据您的评论,您的查询将变为:

select t.tip_adi, count(oda.oda_tip_id) AS MyCount from oteldb.tip t left join (select oda_tip_id from oteldb.oda o where not exists (select null from oteldb.rezervasyon r where r.rezervasyon_oda_id = o.oda_id and r.rezervasyon_gt <= '2012-01-22' and '2012-01-03' <= r.rezervasyon_ct) ) oda on oda.oda_tip_id = t.tip_id group by t.tip_adi

注意“MyCount”。现在,您可以使用我上面发布的内容来绑定该值。

答案 1 :(得分:1)

您可以使用As别名进行SQL查询。试试这个,

sql = "SELECT COUNT(*) AS someCount FROM Table";



<asp:Repeater id="Repeater01" runat="server">
 <ItemTemplate>
  <%# DataBinder.Eval(Container.DataItem, "someCount") %>
 </ItemTemplate>
</asp:Repeater>

答案 2 :(得分:1)

不确定你的sql和asp.net转发器是如何组合在一起的,但是如果你真的想要执行SELECT COUNT(*)那么你通常会使用ADO.NET ExecuteScalar()来回读结果将count(*)作为int,然后只显示它。

或者你是说你用转发器显示了很多实际结果,而你只想总计一个数字?

问题不是很清楚......