我有一张包含数千个条目的表格。我正在构建一个Web应用程序(Razor C#)来显示包含该信息的表。
我有一个工作分页系统,但我无法找到一种方法来了解当前结果集是否具有最后的结果。
我想过这样做:
我需要这样做才能隐藏" next"按钮。 这是我当前的代码(我将此附加到根据过滤器集构建的查询中):
ORDER BY ID
OFFSET ((" + page + " - 1) * " + rowsPerPage + ") ROWS
FETCH NEXT " + rowsPerPage + " ROWS ONLY
谢谢!
答案 0 :(得分:1)
在请求中再获取一行,即rowsPerPage + 1。 如果返回的结果集包含rowsPerPage + 1行,那么您将知道还有更多要获取的记录。如果它返回的行数小于或等于rowsPerPage行,则不会有更多页面,因此您可以隐藏下一个按钮。 这种方法的唯一成本是每次再获得一条记录。
答案 1 :(得分:0)
跳过OFFSET
子句。跟踪之前SELECT
的最后一次ID。
WHERE ID > last_id_from_previous_select
ORDER BY ID
FETCH NEXT " + rowsPerPage + " ROWS ONLY