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