国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

為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。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉安县| 奉化市| 澄城县| 新田县| 旬邑县| 沅陵县| 潞西市| 广宗县| 伽师县| 左权县| 桂平市| 孝昌县| 澎湖县| 周口市| 罗平县| 龙川县| 鹤山市| 兴义市| 南和县| 芦山县| 铜陵市| 汉川市| 大洼县| 青河县| 光泽县| 云浮市| 吉木乃县| 禹城市| 潞西市| 永昌县| 定州市| 威宁| 教育| 达州市| 枞阳县| 盐津县| 磐石市| 梧州市| 永靖县| 哈尔滨市| 通渭县|