摘要:取出RecordSet資料時,使用For...Next迴圈取代While,Do...Loop迴圈
小喵檢視一下,發現觀念小喵竟然沒有寫上,趕緊補上提供大家參考
在ASP中經常回將資料庫取得的資料放在RecordSet中
然後再透過迴圈將資料展現於畫面上
小喵大部分看到的都是以While或者Do..Loop迴圈撰寫
例如以下這樣
If Not (rs.BOF And rs.EOF) Then
rs.MoveFirst
Do
'在此取出資料
rs.MoveNext '這一行千萬不能忘了
Loop Until rs.EOF
End If
rs.MoveFirst
Do
'在此取出資料
rs.MoveNext '這一行千萬不能忘了
Loop Until rs.EOF
End If
這樣的寫法有個重大的危機,那就是當
rs.MoveNext忘了寫的話,會造成【無窮迴圈】
而這樣的事情,就連小喵也經常發生
為了改善這樣的缺點,於是小喵改變寫法,使用For...Next迴圈來展現資料
If Not(rs.BOF And rs.EOF) Then
rs.MoveFirst
For y = 1 to rs.RecordCount '從第1筆到最後1筆(RecordCount)
'在此取出資料
rs.MoveNext
Next
End If
rs.MoveFirst
For y = 1 to rs.RecordCount '從第1筆到最後1筆(RecordCount)
'在此取出資料
rs.MoveNext
Next
End If
用For...Next迴圈會有什麼樣的好處呢
想想如果忘記寫rs.MoveNext的話...會怎樣
他會是重複顯示第一筆資料
但絕不會造成無窮迴圈的發生(有多少筆資料,迴圈多少次,所以不會無窮)
這樣就可以避開因為撰寫的不小心造成無窮迴圈了
^_^
以下是簽名:
- 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |