【運維心得】查得到資料頁面卻不顯示的解決方案
阿新 • • 發佈:2018-12-18
今天工作中碰到一個詭異的問題,如下圖,明明查出來是有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的時候為空了。