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