馬平 8765 字 1個月前

ADO

(5 / 8)
⚡ 登入後報錯可獲 3天VIP 免廣告——立即登入

錄(提取的數目為CacheSize所指定的大小),所以必須根據具體的應用程序的情況,來設定CacheSize的大小,保證得到最佳的性能。

8.定義Command對象的參數

在許多數據源中,得到參數信息和執行命令的代價幾乎是一樣的,所以最好自己在程序中定義好Command參數(也就是說要定義好參數的名稱、類型和方向信息),避免一些從數據提供者(Provider)那裡獲取信息的操作。

9.使用原始的OLEDB提供者

MDAC對許多數據源提供了原始的數據提供者,比如SQLServer、Oracle和Access數據庫,這樣就不需要再通過ODBC來獲取數據(也就是說不需要再通過ODBC驅動這一層),這樣的好處是能更快地得到數據,並且能降低磁盤和內存的開銷。

10.斷開Connection連接

如果使用客戶端遊標,就要斷開Connection連接。ADO有一個特征是當使用客戶端遊標操作Recordset記錄集的時候,不需要和服務器保持聯係。所以可以充分利用這個特性降低服務器端的開銷(服務器就不需要維護這些連接了)。當操作完記錄集需要更新時,可以重新和數據庫進行連接來更新數據。為了創建一個可以斷開連接的記錄集,同時需要使用靜態遊標(adOpenStatic)和批處理的加鎖模式(adLockBatchOptimistic)。下麵是有關處理的VC代碼:

pRs.CreateInstance(__uuid(Recordset));

pRs->CursorLoction=adUseClient;

pRs->Open(strCmdText,strConnection,adOpenStatic,adLockBatchOptimistic,adCmdText);

pRs->PutRefActiveConnection(NULL);

\/\/對記錄集對象pRs進行操作

\/\/重新和數據庫建立連接

pRs->PutRefActiveConnectio(pCon);

請訪問ᴏᴏᴘ.ᴛᴡ獲取最快的章節更新

\/\/批量更新數據

pRs->UpdateBatch(adAffectAll);

需要注意的是:當執行批量更新時,必須自己處理數據衝突問題,因為更新數據時,其他用戶也可能同時正在對該數據進行操作。

11.使用adExecuteNoRecords選項

如果不需要返回記錄,要使用adExecuteNoRecords選項。ADO2.0包括一個新的執行選項稱為adExecuteNoRecords。當使用該選項的時候,ADO就不會創建記錄集對象,不設置任何遊標屬性。數據提供者因為不需要認證集合的屬性而使性能得到優化。具體的例子如下:

con.Execute“insertintotblvalues(fv1,fv2)”,,adExecuteNoRecords

對僅有一條的執行語句采用Connection::Execute方法比使用Recordset::Open方法或者是Command::Execute方法的效果要好,因為ADO不保留任何命令狀態的信息,因此執行性能就有所改進。

12.使用session\/connection緩衝池

因為數據庫的打開和關閉非常消耗係統資源,因此,使用連接池對基於多層的應用的性能會有很大的提高。當使用MDAC的時候,開發人員本身並不需要考慮對數據庫連接的緩存,MDAC會自動處理它。連接池在兩個層次上提供支持:OLEDBsessions和ODBC連接。如果使用ADO,數據庫連接會自動被OLEDBsession緩衝池所緩存;如果使用ODBC,可以利用在ODBC數據源管理中新的連接緩衝池選項對ODBC緩衝進行設置。

實現方法

我們知道,在VB下進行基於ADO的編程相對比較簡單,隻要通過reference加載了適當的類型庫後,就可以正常地調用ADO對象。但是對於VC下的基於ADO的數據庫開發就稍微複雜一些。VC中實現對ADO操作通常有三種方法:

?#import方法;

?利用MFCOLE的ClassWizard;

?通過WindowsAPI中COM相關的函數。

。法方種三這紹介別分麵下。便方很得變發開序程使,構結類的BV似類個一生產許允它,法方的便方最是tropmi#,中法方種三這在

法方tropmi#.1

:件文個兩成生動自候時的譯編在會CV,庫型類的用引何任對。裝封的象對ODA對成生動自及以,義定的sDIUG對個一生產動自夠能CV,稱名和徑路的庫型類的含包要所供提要需,中法方tropmi#在

;義定的象對中庫型類對和型類的舉列所了含包:)hlt.(件文頭?

。裝封生產法方的中型模象對庫型類對:)ilt.(件文現實?

的dd.51odasm對加增中件文h.xfadts在,如例

。件文個兩ilt.51odasm和hlt.51odasm生產會CV,後之tropmi#

。數函esaeleR和feRddA、ecafretnIreyuQ行執動自夠能針指能智。針指能智為稱被也它,t_rtp_moc_類的新個一用使夠能tropmi#

:作操的ODA對現實中用應在tropmi#用使何如了示演碼代的麵下

\”lld.51odasm\\oda\\metsys\\selifnommoc\\selifmargorp\\:c“tropmi#

ecapseman_o

)”FOEoda“,”FOE“(emaner

。1-數常為作FOE了義定經已都用應CV的型典為因,的要必是FOE名命重

定要需象對化動自個一作操,說來常通


✅ 付款功能已修復,現在可以正常購買了 — 支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
😤 廣告總在最入戲的時候跳出來?
月付 $5 USD,升級 VIP 後全站所有頁面廣告立即全關——
不是只有這本書,是整個 oop.tw 每一頁、每一章,從此一路讀到底不被打斷。 $5 USD ≈ 一杯珍奶的錢,換一整個月零廣告清爽閱讀 · 隨時可取消
✅ 全站廣告全關 ✅ 工口專區全本解鎖 ✅ 月卡 $5 USD · 季卡 $13 USD · 年卡 $45 USD
⭐ 登入 / 免費註冊後升級
加我 LINE 好友,分享好書不錯過
第一時間獲得新書推薦、書單更新通知
立即加入
上一頁 書頁/目錄
/ 8 頁
下一頁
為本書評分(每位讀者可評一次,提交後無法修改)
發表評論
以 匿名讀者 身份發表
讀者評論