ADO.NET分页还是比较常用的,于是我研究了一下ADO.NET分页,在这里拿出来和大家分享一下,希望对大家有用。查询结果ADO.NET分页是以较小数据子集(即页)的形式返回查询结果的过程。 它通常用于以易于管理的小块形式向用户显示结果。
#T#DataAdapter 提供了通过 Fill 方法的重载来仅返回一页数据的功能。 但是,对于大量的查询结果,它可能并不是首选的分页方法,因为 DataAdapter 虽然仅使用所请求的记录来填充目标 DataTable 或 DataSet,但仍会使用返回整个查询的资源。 若要在从数据源中返回一页数据时不使用返回整个查询的资源,请为查询指定附加条件,使返回的行数减少到只返回所需的行。若要使用 Fill 方法返回一页数据,请指定 startRecord 参数(代表该数据页中的第一个记录),并指定 maxRecords 参数(代表该数据页中的记录数)。
以下代码示例显示如何使用 Fill 方法来返回查询结果(页大小为 5 个记录)的第一页。
Visual Basic
- Dim currentIndex As Integer = 0
- Dim pageSize As Integer = 5
- Dim orderSQL As String = "SELECT * FROM dbo.Orders ORDER BY OrderID"
- ' Assumes that connection is a valid SqlConnection object.
- Dim adapter As SqlDataAdapter = _
- New SqlDataAdapter(orderSQL, connection)
- Dim dataSet As DataSet = New DataSet()
- adapter.Fill(dataSet, currentIndex, pageSize, "Orders")
C#
- int currentIndex = 0;
- int pageSize = 5;
- string orderSQL = "SELECT * FROM Orders ORDER BY OrderID";
- // Assumes that connection is a valid SqlConnection object.
- SqlDataAdapter adapter = new SqlDataAdapter(orderSQL, connection);
- DataSet dataSet = new DataSet();
- adapter.Fill(dataSet, currentIndex, pageSize, "Orders");