1
這更像是一個設計級別的問題。我有一個通過SQL查詢查詢從數據庫記錄,並通過所謂的GetNext()成員函數返回給調用者一個持久化類,函數的簽名如下:GetFirst和GetNext調用來從持久類中獲取記錄
int getNext(); // returns 0 on failure and 1 on success
我沒有getFirst做()調用。因此,調用者通常運行一個while循環來獲取數據,例如,
while (obj.getNext() > 0) {
obj.getValues(0;
...
}
在GETNEXT()實現,如果沒有數據(第一次調用),或者沒有更多的數據(在while循環中最後一次通話),我寫的「沒有發現數據」輸出,並返回0,否則檢索數據並返回1. 有沒有什麼聰明的方法可以從getNext()調用中知道這是第一個調用(其中沒有數據意味着查詢沒有結果),並且這是非循環內的第一個調用,其中沒有數據意味着查詢沒有更多的結果可以顯示,這很好,因此不會顯示「找不到數據」。
對此提出建議?