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

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