談談
vb的資料庫程式設計方式
vb全稱visual basic,是微軟公司推出的基於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呼叫的經驗
在網路上visual basic執行期間庫的錯誤處理缺乏安全性,因此**執行期間出現的錯誤所造成的後果會非常嚴重
3.3 應用
如果系統環境為客戶機/伺服器模式下的大規模多使用者環境,那麼應用程式必須都能夠準確地解決可能出現的系統錯誤和失敗
應用程式強調資源使用,這裡如何對記憶體、 網路伺服器資源進行直接控制是首要的考慮因素
應用程式使用超大規模資料庫,例如資料庫表可能包含幾萬或幾十萬條記錄
談談資料庫索引
索引是乙個單獨的 儲存在磁碟上的資料庫結構,他們包含對資料庫裡所有記錄的引用指標。或者索引是對資料庫表中一列或多列的值進行排序的一種結構。索引的作用 提高資料庫查詢的效率。索引支援hash和b tree結構 hash 可以快速的精確查詢,但是不支援範圍查詢。所以hash索引適用於等值查詢的場景,也就...
談談資料庫事務
首先事務用一句簡單的話來說,事務就是邏輯上的操作,要麼都執行要麼都不執行。如最常見的轉賬。那麼事務是如何來保證這種操作的呢?一 事務的acid 原子性 事務視為乙個整體要麼全部成功要麼全部失敗。以轉賬為例子 在事務中的扣款和價款兩條語句。在資料庫管理系統中,預設情況下一條sql就是乙個單獨的事務,事...
VB與資料庫 資料庫連線
話說學生管理系統和機房收費系統都完成了,再回來說資料庫的連線真的好嗎?貌似不太好,但是誰讓自己欠賬了呢 除了還,還能有更好的解決方法嗎?前幾天說 紅皮書 中的七個物件。當時的反應哪七個,腦子完全一片空白,不知所云。所以找出來,再看看吧。vb6.0與sqlserver有源資料庫連線,vb6.0中資料訪...