Welcome 微信登录

首页 / 网页编程 / ASP.NET / 数据库组件 Hxj.Data (二十) (分页)

数据库组件 Hxj.Data (二十) (分页)2011-07-21 博客园 steven hu分页在前面好几节中的列子中已经出现,现在在详细讲解一下。

有三种方法去实现:

1、Top(int topCount) 方法

在sqlserver和msaccess中其实就是top , 在oracle通过rownum实现。

2、From(int startIndex, int endIndex)

从startIndex条到endIndex条之间的记录数。

3、Page(int pageSize, int pageIndex)

每页pageSize条,第pageIndex页

下面就依次对这三个方法举例说明。

top方法:

DbSession.Default.From<Products>()
.Top(10)
.ToList();

该查询时查询products表中的前10条记录,生成的sql语句如下:(如何输出查看组件生成的sql)

Text:

SELECT TOP 10 * FROM [Products]

from方法:

DbSession.Default.From<Products>()
.From(3, 8)
.ToList();

查找第3条到第8条的数据(包括第3条和第8条),生成的sql语句如下:

Text:

SELECT * FROM
( SELECT TOP 6 * FROM
( SELECT TOP 8 * FROM [Products] ORDER BY [Products]. [ProductID] ASC)
AS tempIntable ORDER BY [ProductID] DESC)
AS tempOuttable ORDER BY [ProductID] ASC

page方法:

DbSession.Default.From<Products>()
.Page(10, 2)
.ToList();