2012-01-25 34 views
1

的已讀如何與SQL COUNT(*)我如何與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 

回答

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的」。現在,您可以使用上面發佈的內容來綁定該值。

+0

謝謝JonH。它從我的牛逼oteldb.tip查詢'選擇t.tip_adi,計數(oda.oda_tip_id)左連接(從oteldb.oda選擇oda_tip_id O,其中不存在(從oteldb.rezervasyon r選擇已空在那裏r.rezervasyon_oda_id = o.oda_id和r.rezervasyon_gt <='2012-01-22'and'2012-01-03'<= r.rezervasyon_ct))oda onoda.tip_id = t.tip_id group by t.tip_adi'我怎麼能這樣? – Mehmet

+0

@Mehmet - 你需要提到的是,在你的問題中,我正在回答你問的問題!但是用你的查詢就像我聲明別名並使用它一樣。像這樣的'選擇t.tip_adi,計數(oda.oda_tip_id)AS mycount的從oteldb.tip牛逼左連接(從oteldb.oda選擇oda_tip_id O,其中不存在(從oteldb.rezervasyon R其中r.rezervasyon_oda_id = o.oda_id選擇空和r.rezervasyon_gt <='2012-01-22'和'2012-01-03'<= r.rezervasyon_ct))oda onoda.tip_id = t.tip_id group by t.tip_adi' – JonH

1

您可以直接使用別名SQL查詢。試試這個樣子,

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



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

不知道你是如何SQL和asp.net中繼器被裝配在一起,但如果你真的要執行一個SELECT COUNT(*),那麼你通常會使用ADO.NET ExecuteScalar()讀回的結果count(*)作爲int,然後只顯示它。

或者,你說你有很多的實際結果是你是一箇中繼器顯示,你只是想總量可達多少?

這個問題不是很清楚...