1. 程式人生 > >【運維心得】查得到資料頁面卻不顯示的解決方案

【運維心得】查得到資料頁面卻不顯示的解決方案

今天工作中碰到一個詭異的問題,如下圖,明明查出來是有31條資料,但是頁面上缺沒有顯示?

一開始認為是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的時候為空了。