《Delphi 5.x ADO/MTS/COM+ 高級程序設計篇》
Delphi 教程 系列書籍 (035) 《 Delphi 5.x ADO/MTS/COM+ 高級程序設計篇》 網友(邦)整理 EMail: shuaihj@163.com
下載地址:
- 書名: Delphi 5.X ADO/MTS/COM+高級程序設計篇
- 作者: 李維
- 出版社: 機械工業出版社
- 書號: 7111084462
- 出版日期:2000年11月
- 開本: 787*1092 1/16
- 頁碼: 495
內容簡介
本書是唯一深入討論ADO、MTS和COM+的Delphi書籍。首先介紹了ADO的概念和功能以及如何撰寫有效率的ADO應用程序;接著討論了MTS的概念、技術和如何設計開發MTS應用系統。然后又討論了COM+核心服務以及如何利用Delphi 5.x開發COM+應用系統。書中給出了大量范例程序,幫助你開發出最有效率的DNA應用系統。本書適用于Delphi程序員以及其他軟件開發人員。
序言
Borland/Inprise是美國著名的軟件廠商,它的產品系列包括:(1)開發工具類產品,如Delphi、C++Builder和JBuilder等;(2)企業級產品,代表性產品諸如企業級中間件VisiBroker和企業級應用服務器Application Server;(3)基于Linux的開發工具和中間件產品。在眾多的產品中,當屬Delphi最有影響力。近年來隨著互聯網的發展以及電子商務應用的興起,如何開發分布式應用系統、如何開發Web應用、如何提高數據庫的應用效率已成為開發者關注的焦點。“Delphi 5.x”系列叢書針對上述三個技術專題為讀者提供了解決問題的方法。作者深入淺出地講述了大型數據庫工程的完整開發過程,并對技術難點提供了有效的解決方案。本書的作者李維先生是臺灣Inprise公司的資深工程師,多年來一直從事Borland/Inprise技術研究,這套叢書融匯了作者多年系統研究的成果和豐富的開發經驗。這套叢書共有三冊:《Delphi 5.x分布式多層應用系統篇》、《Delphi 5.x分布式多層應用電子商務篇》和《Delphi 5.x ADO/MTS/COM+高級程序設計篇》(原名:《Delphi5.x高效率數據庫應用系統篇》),已由北京寶蘭一英博思信息技術有限公司的工程師改編成簡體中文版,由機械工業出版社陸續出版。本書假設讀者具有一定的Delphi使用經驗。北京寶蘭一英博思信息技術有限公司是Borland/Inprise公司在中國大陸的授權代理機構,負責向中國大陸地區用戶提供Borland/Inprise公司全系列產品及其技術服務。這里向Delphi的使用者和愛好者特別推薦“Delphi 5.x”系列叢書,相信它一定會成為您的良師益友。
北京寶蘭一英博思信息技術有限公司 www.inprise.com.cn
前言
我完成Delphi 5.x系列的兩本書之后,突然覺得非常疲倦。因此實戰系列的第三本書——《Delphl5.x ADO/MTS/CoM+高級程序設計篇》(原名:《Delphi 5.x高效率數據庫應用系統篇》)的撰寫工作也就不知不覺地停頓了下來。當然這有許多原因,最主要的是我不知道DelPhi書籍的市場是否能容納下第三本Delphi的提高書籍。對于我而言,它只是一個興趣,我希望我寫的書能夠幫助一些Delphi的程序員解決實際的問題;并 且有一定的銷售量,不致于讓出版商虧本或對于出版Delphi的提高技術的書籍意興闌珊。因為我認為Delphi是一個非常優秀的開發工具,只可惜Delphi的技術手冊不足,導致許多人無法充分發揮Delphi本身的功能,因此我希望我撰寫的書籍能夠讓更多的人知道Delphi一些不為人知的先進功能。此外,市面上有許多的書籍都是以VB或VC++討論許多Microsoft平臺的技術。事實上,這些技術Delphi甚至可以發揮得更好,因此我也希望我撰寫的書籍能夠讓大家知道如何在Microsoft平臺中使用Delphi開發最強勁的Windows應用程序。當然,這個原因就是我之所以想撰寫本書的動機,因為ADO和MTS/COM+都是Microsoft提倡的DNA架構中非常重要的關鍵技術。如果你在Windows平臺上已經有開發應用程序的經驗,并且知道Microsoft的DNA架構,那么你就必須了解ADO和MTS/COM+對象已經是每一個Windows平臺下程序員必須熟悉和掌握的關鍵技術。未來的ADO一定會成為Windows平臺下存取各種數據的標準,而MTS/COM+對象更是每一個Windows程序員必須真正掌握的概念,并且必須具備實現它們的實際技術。如果你是Delphi的程序員,那么你現在可能是使用BDE/IDAPI存取數據。但是我可以告訴各位,在不久的未來,ADO將如同現在的BDE/IDAPI一樣重要,甚至比BDE/IDAPI更為重要,因為在Windows平臺下使用ADO/OLE DB存取數據看起來已經是確定的趨勢了。此外,你現在也可能仍然在Windows平臺下開發主從架構或多層應用系統,但是在Windows 2000操作系統中,使用MTS/COM+對象開發應用系統也是程序員無法避免的方向。因為COM+已經成為操作系統的基本核心服務之一,所有Microsoft的相關軟件也將圍繞著COM+技術發展,例如IIs 5.o、Microsoft的AppCenter等。因此Delphi程序員也必須真正掌握MTS/COM+的技術。本書討論的內容以ADO/MTS/COM+對象為主。ADO和MTS/COM+對象是 Microsoft提供的技術,Delphi原本就支持得很好,但是Delphi 5又提供了ADOExpress組件、MTS對象向導以及MTS數據模塊向導等功能來幫助Delphi程序員開發使用ADO和MTS/COM+技術的應用系統,那么Delphi的程序員到底該直接使用ADO/MTS/COM+原生對象,以Microsoft的方式來開發應用系統,還是應該使用Delphi提供的功能來開發呢?此外,直接使用ADO和MTS/COM+技術和使用Delphi提供的功能在開發應用系統時又有什么不一樣呢?我相信有許多人對于這些問題都非常困擾,也存在著疑惑。當然,上述的兩種方式都可以用來開發應用系統,真正的問題只在于你是否思考過如何開發你想要實現的應用系統?也許先讓我們看看VB和ASP的程序員如何使用這些技術來開發應用系統之后,再回到Delphi中思考一下是否有更好的方式來解決同樣的問題。在許多市面上討論VB和ASP的書籍中我看到一個現象,那就是如果要使用VB/ASP和MTS或Windows 2000的COM+來開發多層以及Web應用系統,那么通常這些程序員會在VB或VBScript稿本語言中建立并且呼叫MTS/COM+對象。然后再由MTS/COM+對象直接建立原生ADO對象,再通過ADO對象下達SQL命令從數據庫中取得數據之后,傳回到前端的VB/ASP應用程序中進行處理。在這些傳遞數據的過程中VB/ASP都是頻繁地傳遞大量的原始數據以及異動的數據。這樣的開發方式事實上有許多缺點,除了在傳遞和處理數據上沒有效率之外,也可能無法充分使用到MTS/COM+提供的各種Pooling好處。此外,ADO是一組COM對象,所以程序員也必須使用原生的COM接口和API來撰寫程序代碼,不但辛苦,還易發生錯誤。并且對于復雜的數據,例如Master/Detail關系型態的數據,也非常不容易處理。因此這是為什么我很少在VB的書籍中看到如何使用ADO處理復雜型態數據的原因。現在再讓我們回到Delphi,看看如何使用它來解決相同的問題。Delphi 5的ADOEx—press組件封裝了ADO的功能,因此Delphi的程序員可以使用ADOExpress這組VCL組件來使用ADO技術,不但簡單,而且不容易出錯。另外,Delphi的MIDAS技術在分布式環境中正好提供了良好的封裝數據的能力,能夠在一個遠程呼叫中封裝多筆原始和異動的數據,并且能夠封裝關系復雜的數據。不但在撰寫程序代碼方面非常簡易,不易出錯,并且擁有較好的執行效率。更重要的是通過Delphi的MTS對象向導以及MTS數據模塊向導,Delphi的程序員能夠有很好的機會可以利用MTS/COM+提供的各種Pooling的好處。雖然經過了上面的解釋,看起來使用Delphi提供的功能來開發應用系統似乎是比較好的選擇,不過問題并沒有這么簡單。因為Delphi的程序員必須知道如何集成ADOExpress、MTS對象向導和MTS數據模塊向導,以及MIDAS的技術,否則Delphi的程序員并不一定能夠比VB/ASP或VC++程序員開發出更好的應用系統。Delphi的程序員必須以不同的角度來開發應用系統。這是什么意思呢?也許讓我以一個小例子來說明你就可以知道了,不過我假設你已經閱讀過《Delphi 5.x分布式多層應用系統篇》或了解基本的MIDAS觀念。在Delphi的分布式多層應用系統中,客戶端是通過連結到應用程序服務器中的遠程數據模塊來取得數據,這些數據是以MIDAS的數據封包封裝的。客戶端應用程序通過TDCOMConnection組件連結遠程的數據模塊,再通過TClientDataSet組件從遠程數據模塊中的TDataSetProvider組件取得需要的數據,這是Delphi的分布式多層應用系統的基本運作模型。但是在MTS/COM+分布式應用系統中,客戶端的應用程序是建立執行在MTS或COM+核心中的對象來取得數據。而且根據MTS的要求,在MTS中建立的對象必須呼叫MTS中的Object Context對象的CreateInstance方法來建立MTS對象,而不能呼叫COM的CoCreateInstance方法來建立MTS對象(在本書中會詳細說明)。但是Delphi的TDCOMConnection對象卻是呼叫CoCreateInstance(CoCreateInstanceEx)來建立遠程數據模塊,所以Delphi的程序員不可以在MTS中使用TDCOMConnection組件連結遠程數據模塊。但是遠程數據模塊卻提供MIDAS數據封包的組件,那么到底要如何在MTS中使用MIDAS呢?所以我在前面說Delphi的程序員必須以這些角度來開發應用系統,這樣才能夠正確地使用Delphi開發MTS應用系統。當然,除了正確之外,我們更需要執行效率,因此Delphi的程序員也必須從效率的角度來開發應用系統。當程序員使用ADO和MTS/COM+技術開發應用系統時,執行效率有許多不同的意義,也有許多方法可以調整執行效率。而且有許多的調整方法其功效是非常顯著的。ADO在主從架構調整效率的方式和在多層應用系統中調整效率的方式是不一樣的,因為這中間還存在有MIDAS。因此我在本書中會以許多篇幅來討論如何調整效率,這主要是因為如果程序員沒有了解如何調整MTS組件,以及正確開發/用MTS對象的方法,那么系統的執行效率便注定會非常不理想,這也是為什么許多人都說MTS的執行效率不好的原因。不過從本書的內容中你將會發現,我們可以很顯著地提升MTS的執行效率,讓它不比主從架構遜色多少。本書的內容將從介紹ADO開始,除了說明如何使用ADOExpress組件之外,還會詳細地說明如何撰寫有效率的ADo應用程序,并且會對許多AD0重要的功能詳細說明。接著本書會進入MTS的范圍,會詳細討論MTS的概念,MTS的技術以及如何正確而且有效率地開發和使用MTS。在討論完MTS之后,本書會以實際的范例來說明如何設計和開發MTS應用系統。從這個范例中你將會看到,我把許多已經說明的MTS觀念和技術使用在這個范例中,你也可以從這個范例中看到我們如何有效率地開發和使用MTS對象。讓你能夠同時印證MTS的原理,以及如何以實際的Delphi程序代碼實現這些技術。本書也會討論在Windows 2000中的COM+核心服務。雖然COM+對象可以說是MTS 2.0下一代的版本,但是COM+做了許多改善,使得原先在MTS中的限制都解除了。此外,COM+的執行效率也比MTS 2.0來得更好。由于MTS 2.0和COM+仍然有一些不同,而且許多原先在MTS 2.0中必須要注意的地方在COM+中也都已經由COM+核心幫助程序員處理,因此程序員在COM+中可以減少許多工作。這些限制的解除可以幫助Delphi的程序員更輕松地撰寫COM+的應用系統。但是首先我們必須知道MTS和COM+的異同之后才能夠知道使用什么方法來簡化應用系統的開發。雖然本書不是專門介紹如何使用Delphi學習COM+的書籍(我真希望有這種書籍存在),但是你仍然可以從本書中了解一些COM+的基本概念,了解如何使用Delphi 5開發COM+應用系統,以及一些重要的COM+技巧。能夠完成DelPhi 5.x系列叢書真是令我高興的事情,這全賴許多愛護我書籍的讀者的支持。當然我身邊一群好友持續的鼓勵也非常重要。我還是衷心地希望本書能夠真正幫助所有的讀者在使用Delphi開發ADo/MTS/COM+應用系統時,能夠解決一些困難,順利地完成系統。謝謝。令人高興的是我知道Delphi 5.x系列的三本書籍都出了大陸簡體版,可見Delphi在海峽兩岸都受到專業軟件開發人員的歡迎。我也要謝謝大陸相關人士對于Delphi 5.x系列書籍的幫助,讓這三本書能夠順利地出版。當然也要謝謝大陸讀者對于這些書籍的支持,能夠讓大陸的出版商放心地出版。大陸地大物博,能人異士眾多,本人才疏學淺,本書若有疏漏之處也希望大家不吝指教。最后,我的老家是在山東益都,不知對岸的讀者可有我的同鄉呢?謝謝。
李 維 2000/7/16于新店
目錄
第1章 ADO/MTS/COM十和分布式多層架構
1-1 認識ADO
1-2 使用原生ADO對象
1-3 ADO和分布式多層架構
1-4 Delphi的數據存取技術
1-5 原生ADO對象和ADOExpress組件
1-6 結論
第2章 撰寫使用ADO技術的應用系統(一)
2-1 ADOExpress組件
2-2 數據庫應用程序
2-3 Master/Detall應用程序
2-4 事務管理
2-5 BatchUpdate模式
2-6 搜尋數據
2-7 過濾數據
2-8 排序數據
2-9 結論
第3章 撰寫使用ADO技術的應用系統(二)
3-l 處理多個數據表Join的數據
3-2 使用ADO處理BLOB信息
3-3 調用存儲過程
3-4 使用ADO的異步執行能力
3-5 處理錯誤
3-6 使用ADO存取Excel
3-7 使用ADOx
3-8 RDS
3-9 使用ADO開發分布式多層應用系統
3-10 ADO和WebBroker應用程序
3-11 結論
第4章 深入了解ADO
4-l AD0的Cursor Engine
4-2 ADO修改數據的流程
4-3 ADOExpress和AD0
4-4 ADO和BDE/IDA貝
4-5 ADO的執行效率
4-6 優化ADO的執行效率
4-7 結論
第5章 MTS/COM+和分布式多層應用系統
5-1 什么是MTS
5-2 COM+COM的基本概念
5-3 MTS的系統架構
5-4 COM+的系統架構
5-5 狀態對象和無狀態對象
5-6 結論
第6章 MTS/COM+的核心技術事務管理
6-1 數據庫事務管理
6-2 MTS/COM+事務對象
6-3 資源管理
6-4 MTS/COM+的事務生命周期
6-5 以程序代碼自行控制事務管理
6-6 結論
第7章 MTS/COM+的安全機制
7-1 安全機制
7-2 MTS/COM+的角色
7-3 實現宣告式安全機制
7-4 資源鑒定控制
7-5 安全機制檢查的時機
7-6 實際的范例
7-7 結論
第8章 設計MTS/COM+對象和MTS/COM+應用系統
8-1 開發MTS/COM+組件
8-2 開發存取數據的MTS/CoM+組件
8-3 較為復雜和實際的MTS/COM+應用系統
8-4 MT3/COM+的共享信息機制
8-5 管理和分發MTS/COM+應用系統
8-6 如何調試MTS/COM+應用系統
8-7 結論
第9章 以DeIphi技術開發MTS/COM+應用系統
9-l 一個典型的場景
9-2 使用TDCoMConnection建立MTS/COM+對象
9-3 維護事務管理的正確性
9-4 MTS/COM+應用系統架構的實現
9-5 第二種思考方式
9-6 結論
第10章 撰寫高效率的MTS/COM+組件和MTS/COM+應用系統
10-1 你應該牢記的事情
10-2 快速建立和調用遠程MTS/COM+對象
10-3 MTS/COM+對象和數據的傳送
10-4 狀態信息
10-5 結論
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
