《Delphi7高效數(shù)據(jù)庫(kù)程序設(shè)計(jì)》
Delphi 教程 系列書籍 (037) 《 Delphi7 高效數(shù)據(jù)庫(kù)程序設(shè)計(jì)》 網(wǎng)友(邦)整理 EMail: shuaihj@163.com
下載地址:
- 作者: 李維
- 叢書名: 李維作品系列
- 出版社:機(jī)械工業(yè)出版社
- ISBN:7111112261
- 上架時(shí)間:2002-12-24
- 出版日期:2003 年1月
- 開本:16開
- 頁碼:412
- 版次:1-1
內(nèi)容簡(jiǎn)介
dbExpress是Borland公司下一代數(shù)據(jù)訪問技術(shù)。本書不僅詳細(xì)介紹了dbExpress的基本功能、使用技巧以及Delphi/Kylix的DataSnap技術(shù),還詳細(xì)討論了dbExpress的實(shí)現(xiàn)原理以及dbExpress的未來發(fā)展趨勢(shì)。本書結(jié)構(gòu)清晰,講解透徹,實(shí)例豐富。作者李維是Borland公司著名技術(shù)專家,曾著有多部Delphi名著。通過閱讀本書,讀者可以充分利用dbExpress的強(qiáng)大功能,開發(fā)出高效率的Delphi/Kylix系統(tǒng)。本書適合Delphi/Kylix/C++Builder程序員、數(shù)據(jù)庫(kù)程序設(shè)計(jì)師以及對(duì)Delphi/Kylix感興趣的人員閱讀。
前言
自從Delphi推出以來,Delphi全方位的功能便讓許多程序員津津樂道。而Delphi在數(shù)據(jù)庫(kù)方面提供的強(qiáng)大又富有彈性的能力更是讓許多數(shù)據(jù)庫(kù)程序設(shè)計(jì)師驚喜不已。Delphi的BDE/IDAPI不但提供了合理的性能,并且能夠連接各種不同的數(shù)據(jù)庫(kù),從基于文件的Paradox/dBase數(shù)據(jù)庫(kù)到真正的關(guān)系型數(shù)據(jù)庫(kù)(如InterBase、Oracle、Informix、DB2和MS SQL Server等),都能夠讓Delphi程序員使用相同的技術(shù)來訪問各種不同的數(shù)據(jù)源,實(shí)在是非常方便。但是隨著軟件技術(shù)的進(jìn)步以及用戶需求的變化,數(shù)據(jù)訪問的方法也隨之出現(xiàn)巨大的改變。從以往提供持續(xù)連接的主從結(jié)構(gòu)應(yīng)用系統(tǒng)轉(zhuǎn)換成現(xiàn)在的批處理,而且客戶端和數(shù)據(jù)庫(kù)之間可能處于沒有連接的狀態(tài)。例如,現(xiàn)在的數(shù)據(jù)訪問技術(shù)必須同時(shí)能夠滿足企業(yè)內(nèi)部的主從結(jié)構(gòu)式應(yīng)用系統(tǒng),以及能夠提供Web訪問的分布式應(yīng)用系統(tǒng)。雖然BDE/IDAPI技術(shù)也可以同時(shí)在這兩種應(yīng)用中使用,但是BDE/IDAPI畢竟是按照基于文件和主從結(jié)構(gòu)概念設(shè)計(jì)的,對(duì)于基于Web和分布式結(jié)構(gòu)的應(yīng)用則無法提供比較有效率和經(jīng)濟(jì)的使用方式。 Borland希望滿足用戶的新需求并向使用Borland開發(fā)工具的用戶提供跨平臺(tái)的能力,而且Borland推出了在Linux上執(zhí)行的開發(fā)工具——Kylix,因此Borland必須認(rèn)真地考慮開發(fā)下一代的數(shù)據(jù)訪問技術(shù),因?yàn)锽DE/IDAPI明顯已經(jīng)無法滿足新的應(yīng)用而且無法提供跨平臺(tái)的功能。于是,dbExpress應(yīng)運(yùn)而生。 dbExpress是Borland下一代的數(shù)據(jù)訪問技術(shù)。dbExpress的設(shè)計(jì)目標(biāo)是提供高效率數(shù)據(jù)訪問以及提供跨平臺(tái)能力的數(shù)據(jù)訪問引擎。自從Borland在Delphi 6中推出了dbExpress 1.0之后,dbExpress發(fā)展得相當(dāng)迅速。目前,dbExpress已經(jīng)能夠訪問許多關(guān)系型數(shù)據(jù)庫(kù),包括了Oracle、InterBase、Informix、DB2、MS SQL Server、My SQL、Postgre SQL等,而且在未來,Borland將持續(xù)開發(fā)Sybase等數(shù)據(jù)庫(kù)的dbExpress驅(qū)動(dòng)程序。此外,目前dbExpress已經(jīng)能夠在Windows和Linux平臺(tái)上執(zhí)行,未來也將移植到Microsoft的.NETJ2。 Delphi 7中的dbExpress已經(jīng)是2.0版了。dbExpress 2.0不但提供了更多的dbExpress驅(qū)動(dòng)程序,修改了許多的bug,還提供了更高的性能。由于dbExpress現(xiàn)在的表現(xiàn)已經(jīng)超越BDE/IDAPI,而且Borland也已經(jīng)宣布不再更新BDE/IDAPI,只是提供基本的維護(hù)。因此Delphi/Kylix/C++Builder程序員也必須使用dbExpress來開發(fā)新的數(shù)據(jù)庫(kù)應(yīng)用程序。遺憾的是,雖然dbExpress提供了良好的功能和效率,但是目前市面上幾乎沒有什么書籍專門討論dbExpress技術(shù),能夠幫助程序員善加利用dbExpress的功能開發(fā)高效率的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。就是由于這個(gè)原因而促使筆者撰寫這本書,希望本書幫助讀者完全掌握dbExpress技術(shù)。本書除了討論如何使用dbExpress以及Delphi/Kylix的DataSnap技術(shù)之外,還詳細(xì)且深入地討論了dbExpress的高級(jí)技術(shù),包括如何調(diào)整dbExpress的性能,dbExpress的實(shí)現(xiàn)原理以及dbExpress未來的發(fā)展,以便讓讀者能夠充分地利用dbExpress引擎的強(qiáng)大功能,開發(fā)出高效率的Delphi/Kylix數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。筆者從Delphi 6.0/Kylix 1.0開始撰寫本書,雖然Delphi 7的dbExpress和Da(aSnap有少許的改善,不過本書的內(nèi)容仍然適用于Delphi 6/Kylix 2.0以及Delphi 7/Kylix 3.0,此外筆者也在書中說明了Delphi 6和Delphi 7的不同之處。 筆者要感謝所有幫助本書出版的朋友,更要感謝讀者的支持。最后希望本書的內(nèi)容真的能夠幫助讀者快速進(jìn)入dbExpfess的世界,并且在閱讀完畢之后成為精通Delphi/Kylix數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的高手,謝謝。
目錄
第一部分 dbexpress基本功能篇
第1章 dbexpress組件、概念、技術(shù)和應(yīng)用程序 3
1.1 dbexpress組件 3
1.2 建立第一個(gè)dbexpress數(shù)據(jù)庫(kù)應(yīng)用程序 4
1.3 使用dbexpress的概念 13
1.4 使用dbexpress修改數(shù)據(jù) 16
1.4.1 使用tsqldataset搭配tdataset- provider和tclientdataset組件 17
1.4.2 使用tsimpledataset組件 21
1.5 dbexpress驅(qū)動(dòng)程序的設(shè)置 25
1.6 結(jié)論 28
第2章 使用dbexpress組件 29
2.1 使用tsimpledataset組件 29
2.1.1 使用動(dòng)態(tài)sql語句處理數(shù)據(jù) 32
2.1.2 data和delta特性 42
2.1.3 修改數(shù)據(jù)—多個(gè)數(shù)據(jù)表 45
2.1.4 控制數(shù)據(jù)訪問記錄數(shù)—packet- records特性 50
2.2 datasnap技術(shù) 54
2.3 使用tsqldataset和tsqlquery組件 59
2.3.1 使用tsqldataset組件 59
2.3.2 使用tsqlquery組件 63
2.3.3 執(zhí)行sql腳本 65
2.4 使用tsqlstoredproc組件 69
2.5 使用tsqlmonitor組件 74
2.6 結(jié)論 78
第3章 更多的dbexpress技巧 81
3.1 數(shù)據(jù)排序 81
3.1.1 dbexpress/datasnap默認(rèn)排序 82
3.1.2 使用tsqldataset的排序特性 83
3.1.3 在tsimpledataset中進(jìn)行動(dòng)態(tài)排序 86
3.1.4 排序時(shí)考慮的因素 93
3.2 內(nèi)存數(shù)據(jù)表 98
3.3 使用計(jì)算字段 105
3.4 使用aggregate字段 109
3.5 updatestatus 111
3.6 savepoint 113
3.7 mybase 115
3.8 tfield對(duì)象的settext和gettext事件處
理函數(shù) 118
3.9 結(jié)論 124
第二部分 dbexpress進(jìn)階功能篇
第4章 搜尋數(shù)據(jù) 127
4.1 搜尋數(shù)據(jù)集數(shù)據(jù) 127
4.1.1 locate 128
4.1.2 lookup 137
4.1.3 過濾器 139
4.1.4 range 147
4.2 搜尋方法的比較 148
4.3 如何快速地在數(shù)據(jù)集中搜尋數(shù)據(jù) 152
4.3.1 分析delphi/kylix搜尋結(jié)果數(shù)據(jù)集方法的行為 153
4.3.2 數(shù)據(jù)表包含少量的數(shù)據(jù) 154
4.3.3 數(shù)據(jù)表包含大量的數(shù)據(jù) 154
4.3.4 快速搜尋數(shù)據(jù) 155
4.4 結(jié)論 168
第5章 dbexpress的高級(jí)技術(shù) 171
5.1 事務(wù)管理 171
5.2 數(shù)據(jù)庫(kù)的transisolation 175
5.3 錯(cuò)誤處理 177
5.4 在com+中使用dbexpress 188
5.5 結(jié)論 202
第6章 使用dbexpress處理復(fù)雜的數(shù)據(jù)類型 203
6.1 tdatasetprovider組件 203
6.1.1 tdatasetprovider的重要事件處理
函數(shù) 204
6.1.2 tdatasetprovider的重要特性 208
6.1.3 tdatasetprovider的范例 212
6.2 主從類型的應(yīng)用 215
6.2.1 使用組件和dbexpress實(shí)現(xiàn)主從功能 215
6.2.2 使用程序代碼實(shí)現(xiàn)主從功能 219
6.3 處理多數(shù)據(jù)表數(shù)據(jù) 221
6.4 結(jié)論 232
第7章 dbexpress和web應(yīng)用程序 233
7.1 delphi的webbroker技術(shù) 233
7.2 使用dbexpress開發(fā)web應(yīng)用程序 234
7.3 dbexpress和intraweb 262
7.4 結(jié)論 271
第三部分 dbexpress高級(jí)技術(shù)篇
第8章 處理二進(jìn)制大型數(shù)據(jù) 275
8.1 處理圖形數(shù)據(jù) 275
8.2 處理jpeg類型的圖形數(shù)據(jù) 279
8.3 如何有效率地處理二進(jìn)制大型數(shù)據(jù) 281
8.4 ole container類型的數(shù)據(jù) 290
8.5 結(jié)論 298
第四部分 深入的dbexpress實(shí)戰(zhàn)技術(shù)
第9章 dbexpress和元數(shù)據(jù) 303
9.1 dbexpress和元數(shù)據(jù) 303
9.2 使用dbexpress處理元數(shù)據(jù) 304
9.3 觀察dbexpress如何使用元數(shù)據(jù) 321
9.4 結(jié)論 331
第五部分 性 能 篇
第10章 開發(fā)高效率的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 335
10.1 從測(cè)試dbexpress、bde/idapi和dbexpress開始 335
10.1.1 觀察dbexpress的執(zhí)行行為之一 338
10.1.2 觀察dbexpress的執(zhí)行行為之二 340
10.2 dbexpress和bde/idapi的性能比較 345
10.2.1 連接數(shù)據(jù)庫(kù)的速度 345
10.2.2 訪問大量數(shù)據(jù)的速度 346
10.2.3 添加大量數(shù)據(jù) 347
10.3 調(diào)整dbexpress訪問數(shù)據(jù)的方式 348
10.3.1 調(diào)整packetrecords特性值 348
10.3.2 改變dbexpress處理數(shù)據(jù)的行為 349
10.4 快速查詢數(shù)據(jù) 354
10.5 delphi 7之后的tsimpledataset 361
10.6 結(jié)論 361
第11章 動(dòng)動(dòng)腦,快樂一下 363
11.1 從一個(gè)看似簡(jiǎn)單的場(chǎng)景開始 363
11.2 開始動(dòng)動(dòng)腦吧 374
11.3 第二個(gè)問題 374
11.4 結(jié)論 376
第12章 數(shù)據(jù)訪問技術(shù) 379
12.1 dbexpress的發(fā)展 379
12.2 bde的狀況 380
12.3 ado 380
12.4 可選用的數(shù)據(jù)庫(kù) 380
12.5 幾個(gè)數(shù)據(jù)庫(kù)及數(shù)據(jù)訪問技術(shù) 384
12.6 數(shù)據(jù)庫(kù)和組件模型 384
12.7 結(jié)論 385
第13章 dbexpress的實(shí)現(xiàn)和未來的發(fā)展 387
13.1 dbexpress的實(shí)現(xiàn)技術(shù) 387
13.2 模擬dbexpress的工作流程 399
13.3 有關(guān)dbexpress實(shí)現(xiàn)的異同 409
13.4 dbexpress未來的實(shí)現(xiàn)開發(fā) 410
13.5 結(jié)論 411
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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