人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

小心數據集亂套

小心數據集亂套

更新時間:2022-07-09 文章作者:未知 信息來源:網絡 閱讀次數:

最近幫學校做一個東西,大概兩天就弄出來一個,而且今天也上繳了,但是總是覺得有一些擔心。突然想測試測試,本來是想測試一下用二分法對數據進行選取的,但是,不知道怎么能得到Last Record And First Record,所以,就想慢慢測試測試,怎么能得到Last And First Record,但是實際中的測試嚇一大跳。asp數據集的有可能亂套。

以前,寫asp讀取數據時,總是用“select * from table”直接選取數據,然后用

If Not Rs.Eof Then

Rs.MoveLast

Do While Not Rs.Bof Then

Response.Write Rs(“ID“)

.....

Loop

End If

簡單的說就是用一個循環直接讀取數據庫所有數據,但是如果數據有幾萬條的話,速度是可想而知的了,所以想用二分法對數據進行選擇顯示,但是不知道怎么能得到開始和最后的數據,又想到了Rs.Bof Rs.Eof 本來是想怎么能得到字段ID的最大值,最小值,然后好比較的,但是實際操作中發現,如果你用下面的東西,不一定得到最大值和最小值:

If Not Rs.BOf Then
Rs.MoveFirst
frsID=Rs("ID")
End If
If Not Rs.Eof Then
Rs.MoveLast
lstID=Rs("ID")
End If
Do While Not Rs.Bof
response.Write "ID is "&rs("ID")&"
"
rs.Moveprevious
Loop

response.Write "First ID="&frsID&"
"
Response.Write "Last ID="&lstID&"
"


顯示的frsID=6,lstID=15,可是在顯示的全體數據中有一條數據的ID為16,也就是說最大的ID!=lstID(以前我總是認為這個是想等),最后檢查發現是sql語句有問題,改成“Select * from Login Order By ID Asc”時,顯示:

ID is 16
ID is 15
ID is 14
ID is 13
ID is 12
ID is 11
ID is 10
ID is 8
ID is 7
ID is 6
First ID=6
Last ID=16
將sql換成Select * from Login Order By ID Desc”時,卻是:

ID is 6
ID is 7
ID is 8
ID is 10
ID is 11
ID is 12
ID is 13
ID is 14
ID is 15
ID is 16
First ID=16
Last ID=6

這樣兩個數據的排列完全和sql中要求的不一樣(本來是Asc的再顯示的時候是Desc,向Desc的現實的確實Asc的),而且顯示出來的東西和Login表中數據也完全不一樣。

結論:數據的排列完全是靠Sql和RecordSet雙方控制的。在你沒有對指針記錄操作時,指針記錄是亂得,最好對數據操作時,先整理一下數據的排列,讓它能夠按序排列,方便以后操作。



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 皋兰县| 临泽县| 平阳县| 济阳县| 东丰县| 健康| 七台河市| 大同县| 耿马| 三穗县| 乐山市| 吉安市| 柳林县| 武功县| 新兴县| 阳泉市| 平和县| 平遥县| 雅江县| 宝应县| 同心县| 晋江市| 金川县| 棋牌| 宝坻区| 胶南市| 封开县| 广南县| 望都县| 大洼县| 雅江县| 宜良县| 泾川县| 梧州市| 黔西县| 昆山市| 昌江| 宁阳县| 邯郸市| 卢氏县| 凤台县|