程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 談談VB的數據庫編程方式

談談VB的數據庫編程方式

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved