0

我找不到我的问题的答案,但我认为你可以帮助我:)

我在 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>
4

2 回答 2

5

你能不能把你的选择命令改成类似

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

在上面的查询中,哪里EntryDate是明确的字段来表明它是否会在前 3 名中?

于 2012-12-20T08:38:53.713 回答
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
于 2012-12-20T08:39:25.793 回答