2012-12-20 22 views
0

只顯示最新的3項我找不到我的問題的答案,但我認爲你能幫助我:)獲取ASP.NET轉發器從SQL Server數據源

我在ASP的中繼器。 NET網站,我想只顯示3個最新的條目。我知道這是可能的,但我不能得到它的工作.. :(

我的中繼器看起來像這樣

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="Sql_letter"> 
    <ItemTemplate> 
     <p><%# Eval("Wishlist_Letter_FirstName") %> fra <%# Eval("Wishlist_Letter_City") %></p> 

     <p>Har skrevet til Julemanden</p> 

     <asp:TextBox ID="r" runat="server" Text='<%# Eval("Wishlist_Letter_Message")%>' TextMode="MultiLine" CssClass="txt_message" BackColor="Transparent" BorderWidth="0" BorderStyle="None" ReadOnly="True"></asp:TextBox> 

     <br /> <br /> 
    </ItemTemplate> 
</asp:Repeater> 

而且我SqlDataSource

<asp:SqlDataSource ID="Sql_letter" runat="server" 
    ConnectionString="<%$ ConnectionStrings:sqlconnection %>" 
    SelectCommand="SELECT * FROM [Wishlist_Letter]"> 
</asp:SqlDataSource> 
+1

什麼是 「最新的」?你有時間戳字段嗎?數據源沒有(保證)排序。 – Matten

+0

我的表有ID,我希望它顯示3或5最新的ID :)與我的意思是我想ID 9,10,11顯示insted的1,2,3 :) – user1913474

+0

您可以更改選擇TOP 3 * FROM [Wishlist_Letter] order by 1 desc –

回答

3

SelectCommand應該是這樣的

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY [Timestamp] DESC 

,但你需要有一個Timestamp場什麼的你的桌子上相等。 ms sql沒有自然順序,它保證返回最新的三個條目。

你的情況應該是

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY [ID] DESC 
+0

非常感謝:D – user1913474

5

你能不能改變你的選擇命令類似

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY EntryDate DESC 

其中EntryDate在上面的曲線埃裏克將是明確的領域,表明它是否會進入前三名?