使用ADO.NET + 存储过程,在winform里实现分页查询的功能。

实现思路:

  1. 使用存储过程,根据查询条件,查出若干个表;
  2. 返回DataSet,再去读取DataSet的Table。

以一个超市管理系统里面登录日志的查询为例,做示例代码。

数据库表结构

Winform + ADO.Net 实现分页查询

一部分测试数据:

Winform + ADO.Net 实现分页查询

存储过程编写

 1 if exists(select * from sysobjects where name='usp_LoginLogsPagingQuery')
 2 drop procedure usp_LoginLogsPagingQuery
 3 go
 4 
 5 create procedure usp_LoginLogsPagingQuery
 6 @PageSize int,--每页显示数据行数
 7 @RecordCount int,
 8 @BegainTime dateTime,
 9 @EndTime dateTime
10 as
11     declare @CurrentPage int=1--当前页数
12     declare @Temp int= @PageSize*(@CurrentPage-1)
13     while (@Temp<=@RecordCount)
14     Begin
15          select Top (@PageSize) LoginId,LoginName, ServerName,LoginTime,ExitTime from LoginLogs 
16          where LoginId not in (select Top (@Temp) LoginId from LoginLogs where LoginTime between @BegainTime and @EndTime order by    LoginTime ASC) and LoginTime between @BegainTime and @EndTime order by LoginTime ASC
17          set @CurrentPage=@CurrentPage+1
18          set @Temp = @PageSize*(@CurrentPage-1)
19     End
20 go 
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2021-12-12
猜你喜欢
  • 2021-12-29
  • 2021-11-19
  • 2021-07-12
  • 2021-05-16
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案