SQL SEVER中如何实现分页?
发布网友
发布时间:2022-04-12 14:25
我来回答
共3个回答
热心网友
时间:2022-04-12 15:54
'下面是我用VB.net写的 可能你看不懂.原理很简单,
'就是把 你的数据从数据库读出来,加载到DataSet里面.
'对dataset的tataTable进行处理,如我5条记录分一次页.
Dim dt As DataTable = Nothing
Dim x As Integer = 0
Dim i As Integer = 1
'判断有多少页面....
Public ReadOnly Property pages() As Integer
Get
Return x / 5
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_init()
End Sub
Sub _init()
If dt Is Nothing Then
dt = core.ReturnAllMessage()
x = dt.Rows.Count
End If
Try
i = Integer.Parse(Request.QueryString("page").Trim())
Catch ex As Exception
i = 1
Me.Response.Redirect("message.aspx?page=" & i)
End Try
If i = 1 Then
Me.LinkButton1.Enabled = False
If x > 1 Then
Me.LinkButton2.Enabled = True
Else
Me.LinkButton2.Enabled = False
End If
Else
Me.LinkButton1.Enabled = True
If i < Me.pages Then
Me.LinkButton2.Enabled = True
Else
Me.LinkButton2.Enabled = False
End If
End If
Me.lblCount.Text = "<HR>共:" + Me.pages.ToString() + "页 现在是第:" + i.ToString() + "页 <HR>"
Me.bandDate() '\\
End Sub
热心网友
时间:2022-04-12 17:12
SELECT TOP 页大小 * FROM Users WHERE (ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users ORDER BY ID DESC)) ORDER BY ID DESC 注:页大小指的是每页显示的条数。
加油吧!
热心网友
时间:2022-04-12 18:47
使用sql server 2005的分页功能吧,很方便的!
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[DataList]
@PageNum int
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY [OrderID] DESC) AS RowID, * FROM [OrderList]) AS OrderTable WHERE RowID BETWEEN @PageNum AND @PageNum+20
END
sql server 求和后如何分页?请看SQL语句
假设现在有这样的一张表:CREATE TABLE test (id int primary key not null identity,names varchar(20))然后向里面插入大约1000条数据,进行分页测试 假设页数是10,现在要拿出第5页的内容,查询语句如下:--10代表分页的大小 select top 10 from test where id not in (--40是这么计算出来的:10...
sql server 求和后如何分页?请看SQL语句
SQLServer 的数据分页:假设现在有这样的一张表:CREATE TABLE test (id int primary key not null identity,names varchar(20))然后向里面插入大约1000条数据,进行分页测试 假设页数是10,现在要拿出第5页的内容,查询语句如下:--10代表分页的大小 select top 10 from test where id not in (--40...
如何在SQL Server中实现 Limit m,n 的功能
SqlServer不支持limit,但可以用ROW_NUMBER函数来实现分页:SELECT ROW_NUMBER() OVER(ORDER BY 排序字段) AS idx,* FROM 表WHERE idx BETWEEN 100 AND 200等效于MySQL的:SELECT * FROM 表 ORDER BY 排序字段 LIMIT 100,100
大数据量下的分页解决方法
做大数据分页都是无刷新的技术,这里我们选择ajax来实现。ajax请求地址需要你使用后台代码来实现,后台代码除了要返回数据集合还要返回数据的总数量,总页数,下一页等参数,方便选择分页的时候获取数据。下面看一下后台代码实现,sqlserver的分页SQL:selecttop一页数量*from表名where主键notin(selecttop15主键...
SQLSERVER如何实现分页查询?
GO SET ANSI_NULLS ON GO ALTER PROCEDURE usp_Province_pagination PageSize INT, --每页的显示的行数 AbsolutePage INT, -- 当前页的页数 PageCount INT OUTPUT --总页数 AS DECLARE @BeginRecord INT --记录每此从哪一行开始读取 DECLARE @RecordCount INT --表中数据的总条数 DECLARE @sql ...
如何用sql语句 实现分页查询?
方法1:适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE id NOT IN (SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id )ORDER BY id 方法2:适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE id > (SELECT ISNULL(MAX(id),0)FROM (SELECT ...
Sql server2008怎样分页
你可以用存储过程分页,如下存储过程支持分页和排序:CREATE PROCEDURE GetSortedMovies (SortExpression NVarChar(100),StartRowIndex INT,MaximumRows INT )AS -- 创建一个临时表存储查询结果 CREATE TABLE #PageIndex (IndexId INT IDENTITY (1,1) NOT NULL,RecordId INT )-- 插入临时表 INSERT INTO ...
如何用sql语句(sqlserver2000)进行每页显示10条记录,查询下一页不显示...
就是一个分页储过程 如有表TUser ,主键为ID,字段就FName mssql2000用top n 或 临时表分页 mssql2005可以用row_number()排名函数 --每页显示10条记录 --TOP N 实现分页 --现在取第一页 记录 也就是 前10 SELECT TOP 10 FROM TUser WHERE ID NOT IN ( SELECT TOP 10*0 ID FROM TA)...
sqlserver分页语句怎么写要不用 top的
例如有一张Person表,有10000条数据,现在分页查询前1000条。Top语法:SELECT TOP 1000 * FROM PERSON;ROW_NUMBER()OVER(ORDER BY)语法:order by的作用就是作为排序,后面我们假设使用一个Person表中的id字段 那么sql就是:SELECT * FROM (SELECT *, ROW_NUMBER()OVER(ORDER BY id) AS 'Row' ...
...sql server存储过程实现查询数据条数过大,分页查询怎么实现?_百度...
(1)、将全部数据先查询到内存中,然后在内存中进行分页,这种方式对内存占用较大,必须限制一次查询的数据量。(2)、采用存储过程在数据库中进行分页,这种方式对数据库的依赖较大,不同的数据库实现机制不通,并且查询效率不够理想。以上两种方式对用户来说都不够友好。2.解决思路 通过在待查询的...