IO在我的asp經典頁面中出現了一個真正奇怪的問題。我正在爲員工制定一個休息日程表。當我測試它時,它似乎工作正常。儘管有了另外一種選擇,我可以一週來回回顧,當我回到3周時,循環不斷循環到一個單獨的記錄中。當記錄集上的循環繼續運行而記錄總數減少時
所以我想通過在SQL執行後對記錄集進行計數來檢查問題出在哪裏。
由於某些原因,do while循環保持循環。我做了一個打印計數,看看它找到了多少條記錄,現在它已經在508 000!
所以在我的T-SQL服務器(2012年),我做了完全相同的查詢,在這裏它只是導致953個記錄...
所以很明顯tghere去一些錯誤的循環。
這裏是我使用的代碼:
strSQL = "SELECT * FROM [qrySnipperKalender_B] WHERE [snipperdag] >= "& szStart &" AND [snipperdag]<= "& szEnd &" ORDER BY [FunctieGroep], [Relatienaam], [Datum] ASC"
response.write(strSQL & "<br> <br>")
set rst=con_sql.execute(strSQL)
CountCheck = 0
Do until rst.EOF or rst.BOF
response.write("Count is: " & CountCheck & "<br>")
CountCheck = CountCheck + 1
Loop
response.write("RST count :" & CountCheck)
response.end
到Response.End的和回覆於RST數從來沒有擊中,它只是不斷循環,使頁面非常慢。
的回覆於SQL結果:SELECT * FROM [qrySnipperKalender_B] WHERE [snipperdag] >= 15281 AND [snipperdag]<= 15355 ORDER BY [FunctieGroep], [Relatienaam], [Datum] ASC
當我運行在它導致953個記錄(如它應該)在SQL服務器此查詢。
所以問題是,爲什麼這個循環打破/保持運行?
我已經試圖用rst.BOF修改循環(首先我只有EOF),但這沒有任何作用。我也嘗試在循環中使用IF條件,如果它碰到EOF,則退出循環,但這也不起作用。
你沒有做任何事情,以推進到一個新的記錄。 –