麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

為VB5辯解:VB處理數據庫時求數據表記錄總數的最佳方法

2019-11-18 17:35:27
字體:
來源:轉載
供稿:網友
--------VB主要處理的是MDB格式的數據庫,但就在這方面,它就偏偏出了差錯,先看看下例:

DimdbAsDatabase
DimrsAsRecordset
Setdb=OpenDatabase(App.Path&"/zzr.mdb")
Setrs=db.OpenRecordset("test")
Debug.Num=0
rs.MoveFirst
DoWhileNotrs.EOF()
Num=Num 1
rs.MoveNext
Loop
Debug.PrintNum

--------這樣,最后得到的Num即為正解結果,這種方法的思路是從表的開始處一直順序走到結尾,就可以"數"出表中到底有多少條記錄。這種方法看起來很笨,但是它卻是一個相當準確的方法,大家不防可以試一下。
----再看筆者的說法:

----先看上面一行程序:Debug.Printrs.RecordCount,VB5在讀取數據表時并非一次性將全部記錄均讀入內存(想想看如果有一個表,里面有一百萬個記錄甚至一億個或更多,要想全部讀入內存,你的機器能承受得了嗎?),只是先讀入一部分(在下認為這是VB的優異這處),recordset對象并非表的全部記錄,只是已讀入內存的部分,故用rs.recordcount得到的不是表的記錄總數。

----再看上面程序的改良部份:


DoWhileNotrs.EOF()
Num=Num 1
rs.MoveNext
Loop
Debug.PrintNum

----在下用十萬個記錄的表對上面這段程序做了個測試,結果花了六分半鐘(intel166,32M內存),如此的等待,閣下有耐心無?請看在下的對策:
----假設數據表已打開,用

rs.Recordset.MoveLast'將指針移到表的最后一筆記錄
debug.printrs.Recordset.RecordCount
即可得出正確結果。

或者用下一種方法亦可

rs.Recordset.MoveLast
debug.printrs.Recordset.AbsolutePosition 1
'調用絕對位置,因vb的第一筆記錄是由零算起,故要 1。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美黑人xx| 亚洲欧美在线视频免费 | 精品亚洲成a人在线观看 | 影视免费观看 | 欧美日韩在线中文 | 999久久久久久 | 国产免费高清在线视频 | 黄色片快播 | 久久午夜神器 | 蜜桃视频日韩 | www.精品久久 | 亚洲国产精品久久久久久久久久 | 在线看一区二区三区 | 色淫影院| 国产一级免费片 | 成人在线视频精品 | 日韩激情 | 日本网站在线播放 | 狠狠干最新网址 | 精品国产一区二区三区久久久蜜月 | 红杏亚洲影院一区二区三区 | 欧美片一区二区 | 欧美中文字幕一区二区三区亚洲 | 视频国产一区二区 | 91精品国产综合久久久动漫日韩 | 性感美女一级毛片 | 99影视电影电视剧在线播放 | 中文字幕 亚洲一区 | 欧美精品在线视频观看 | 色交视频 | 深夜福利视频绿巨人视频在线观看 | 港台三级在线观看 | 欧美videofree性欧美另类 | 黑人操穴| 欧美日韩在线看片 | 羞羞视频免费网站男男 | 久久久精品99 | 线观看免费完整aaa 一二区成人影院电影网 | 红杏网站永久免费视频入口 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 91色一区二区三区 |