VB全稱Visual Basic,是微軟公司推出的基于Basic語言的可視化編程環(huán)境,以其簡單易學(xué)功能強(qiáng)大而倍受廣大電腦愛好者的青睞。
VB的數(shù)據(jù)庫編程方面按其難易程度可分為三類(由易到難);
●使用數(shù)據(jù)庫控制項(xiàng)和綁定控制項(xiàng)
●使用數(shù)據(jù)庫對象變量進(jìn)行編程
●直接調(diào)用ODBC2.0API
在使用VB進(jìn)行數(shù)據(jù)庫編程時(shí),通常,會首先選擇三種基本方法之一來進(jìn)行數(shù)據(jù)庫應(yīng)用程序的方案設(shè)計(jì), 現(xiàn)在就將以上三種設(shè)計(jì)方法的適應(yīng)范圍及其優(yōu)缺點(diǎn)進(jìn)行一個比較。
1 使用數(shù)據(jù)庫控制項(xiàng)和綁定控制項(xiàng)
1.1優(yōu)點(diǎn)
它是三種方法中編碼量最小的
不必了解CDBC2.0API的細(xì)節(jié)
允許使用標(biāo)準(zhǔn)的和第三方廠商制訂的控制項(xiàng)
簡化了錯誤處理
支持所有的動態(tài)集方法及屬性
1.2缺點(diǎn)
不能存取快照對象(snapshop)對象或表格對象(都屬于記錄集對象)
不能存取數(shù)據(jù)庫集合,比如表定義(TableDefs)字段(Fieds),索引( Indexes)及查詢定義(QueryDefs)
只能存取部分ODBC2.0管理函數(shù)
不能進(jìn)行真正的事務(wù)處理
有限的錯誤診斷功能
1.3應(yīng)用
對中小規(guī)模的數(shù)據(jù)庫表(通常少于一千條記錄)只進(jìn)行簡章的瀏覽操作
基本SQL查詢所對應(yīng)的結(jié)果集長度有限(通常結(jié)果集的記錄數(shù)小于一百, 這些記錄從一個或兩個長度有限的表中檢索出來)
應(yīng)用程序的數(shù)據(jù)輸入/輸出項(xiàng)較少(通常只涉及一個或兩個長度有限的表、并且表中的字段數(shù)在10個左右且不具有關(guān)系完整性限制
2 使用數(shù)據(jù)庫對象變量進(jìn)行編程
2.1 優(yōu)點(diǎn)
可以在程序中存取ODBC2.0的管理函數(shù)
可以控制多種記錄集類型:Dynaset、Snapshop及Table記錄集合對象
可以存取存儲過程和查詢動作
可以存取數(shù)據(jù)庫集合對象,例如TableDefs、Fields、Indexes及QueryDefs
具有真正的事務(wù)處理能力 , 包括啟動事務(wù) ( Begintrans) 、 提交事務(wù)(CommitTrans)及回滾事務(wù)(Rollback)
2.2 缺點(diǎn)
比使用數(shù)據(jù)控制項(xiàng)的方法編碼量較大
只能進(jìn)行間接的錯誤處理和錯誤恢復(fù)
對每個數(shù)據(jù)庫操作沒有細(xì)粒度的控制
對結(jié)果集和包含結(jié)果集的內(nèi)豐資源的操作受到限制
同直接使用ODBC2.0API函數(shù)的方法相比性能較低
2.3 應(yīng)用
應(yīng)用程序需要在執(zhí)行期間動態(tài)地建立表、字段及索引
應(yīng)用程序涉及同步更新幾張表(但在邏輯上保持一致性)的復(fù)雜事務(wù)
應(yīng)用程序使用結(jié)果集而不是Dynaset的窗體(FORMS),例如Snapshots或Tables,這里是設(shè)計(jì)要考慮的關(guān)鍵
應(yīng)用程序的表非常大,多于1000條記錄
應(yīng)用程序具有復(fù)雜的數(shù)據(jù)輸入/輸出項(xiàng),它涉及許多內(nèi)部相關(guān)的字段并且包括數(shù)據(jù)庫參照完整性或一致性規(guī)則
應(yīng)用程序需要執(zhí)行一些額外的操作和對結(jié)果集的查詢后處理, 尤其是需要很高的數(shù)據(jù)格式化顯示
應(yīng)用程序需要利用復(fù)雜的ODBC管理功能以選擇、配置、校驗(yàn)及建立各種數(shù)據(jù)源
應(yīng)用程序需要在執(zhí)行期間“顯示”數(shù)據(jù)庫的基本結(jié)構(gòu)
應(yīng)用程序需要使用復(fù)雜的多碼索引方式來檢索或更新記錄
3 直接調(diào)用ODBC2.0API
3.1 優(yōu)點(diǎn)
可以直接參與結(jié)果集的開發(fā)、管理及規(guī)范化
對結(jié)果集游標(biāo)提供了更多的控制,并且提供了更多的游標(biāo)類型和執(zhí)行動作
能夠確定ODBC驅(qū)動程序及SQL的一致性級別
可以更好地控制Windows的執(zhí)行調(diào)度及資源利用
其他方面同其他方法差不多,因此這種方法很可能具有最好的性能
3.2 缺點(diǎn)
較其他兩種方法需要大量的代碼
代碼復(fù)雜并且要求程序員具有編制API調(diào)用的經(jīng)驗(yàn)
在網(wǎng)絡(luò)上Visual Basic運(yùn)行期間庫的錯誤處理缺乏安全性,因此代碼運(yùn)行期間出現(xiàn)的錯誤所造成的后果會非常嚴(yán)重
3.3 應(yīng)用
如果系統(tǒng)環(huán)境為客戶機(jī)/服務(wù)器模式下的大規(guī)模多用戶環(huán)境,那么應(yīng)用程序必須都能夠準(zhǔn)確地解決可能出現(xiàn)的系統(tǒng)錯誤和失敗
應(yīng)用程序強(qiáng)調(diào)資源使用,這里如何對內(nèi)存、 網(wǎng)絡(luò)服務(wù)器資源進(jìn)行直接控制是首要的考慮因素
應(yīng)用程序使用超大規(guī)模數(shù)據(jù)庫,例如數(shù)據(jù)庫表可能包含幾萬或幾十萬條記錄