国产探花免费观看_亚洲丰满少妇自慰呻吟_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。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝清县| 寻甸| 惠州市| 星子县| 富顺县| 铅山县| 麻江县| 香河县| 随州市| 贵港市| 彰武县| 木兰县| 平顺县| 南充市| 邢台市| 唐海县| 修文县| 绥宁县| 蚌埠市| 黔江区| 宝清县| 定陶县| 临潭县| 江山市| 鹤峰县| 桓台县| 云阳县| 苗栗市| 临江市| 瓦房店市| 盘锦市| 林芝县| 色达县| 桂平市| 法库县| 蒙山县| 达尔| 榆树市| 屏边| 晋宁县| 二手房|