【运维心得】查得到数据页面却不显示的解决方案

今天工作中碰到一个诡异的问题,如下图,明明查出来是有31条数据,但是页面上缺没有显示?

【运维心得】查得到数据页面却不显示的解决方案_第1张图片

一开始认为是js的问题,前台界面代码过滤了一遍,结果发现很简单,没有发现什么问题,如下:

sortOrder: 'desc',
pagination: true,
pageNumber: 1,
pageSize: 10,
pageList: [10, 20, 50],

重点转到后台,发现数据库里的确是查得到数据的,但是在分页json的阶段,却没有返回数据。

经过几个小时的调试(中间不断的被繁杂事务打扰),终于解决了这个问题,由于涉及公司的数据,就不贴源码,只把原理说明一下,供大家参考。

 WITH TempTable AS ( SELECT row_number() over( ORDER  BY MFContract.Id  ASC ) AS RowNumber,*
 FROM MFContract WITH (nolock)  WHERE 1=1) 
 SELECT * FROM TempTable 
 WHERE  RowNumber >0 AND  RowNumber <=10

上述是一段分页取数据的代码,之前的错误在于,RowNumber获取的不对,记录获取出来4000以上的编号(其实只需要取10条数据),造成数据条数虽然有,但是返回Json的时候为空了。

你可能感兴趣的:(运维,数据库)