第一篇概述
第一章 選擇正確的數(shù)據(jù)庫技術(shù)
1.1 為自己的C++應(yīng)用程序確定適當(dāng)?shù)臄?shù)據(jù)庫技術(shù)
1.2 采用C++創(chuàng)建自己的數(shù)據(jù)庫
1.2.1 定義元數(shù)據(jù)
1.2.2 處理數(shù)據(jù)庫工作的一個(gè)C++基類
1.2.3 建立自己的數(shù)據(jù)庫所面臨的問題
1.3 OLE結(jié)構(gòu)存儲(chǔ)
1.4 記錄管理程序
1.5 桌面數(shù)據(jù)庫
1.5.1 通過局域網(wǎng)訪問ISAM數(shù)據(jù)
1.6 對(duì)象數(shù)據(jù)庫
1.7 關(guān)系數(shù)據(jù)庫服務(wù)器
1.8 如何比較數(shù)據(jù)庫技術(shù)
1.9 小結(jié)
1.10 問與答
1.11 工作室
1.11.1 測(cè)驗(yàn)
1.11.2 練習(xí)
第二章 Visaul C++ Developer Studio中的數(shù)據(jù)庫開發(fā)工具
2.1 如何建立完備的數(shù)據(jù)庫
2.2 Visual C++ Developer Studio對(duì)關(guān)系數(shù)據(jù)庫模型的支持
2.2.1 安裝Visaul C++ 的數(shù)據(jù)庫組件
2.2.2 為示例數(shù)據(jù)庫設(shè)置ODBC數(shù)據(jù)源
2.3 關(guān)系數(shù)據(jù)庫的組件
2.3.1 關(guān)系數(shù)據(jù)庫中的表
2.3.2 關(guān)系數(shù)據(jù)庫表中的字段
2.3.3 關(guān)系數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)類型
2.3.4 關(guān)系數(shù)據(jù)庫表中的記錄
2.3.5 數(shù)據(jù)庫表中的主鍵
2.3.6 不同表中記錄之間的關(guān)系
2.4 小結(jié)
2.5 問與答
2.6 工作室
2.6.1 測(cè)驗(yàn)
2.6.2 練習(xí)
第三章 通過結(jié)構(gòu)查詢語言檢索數(shù)據(jù)
3.1 結(jié)構(gòu)查詢語言
3.2 SQL的SELECT語句
3.2.1 ORDER BY從句
3.2.2 WHERE從句
3.3 SQL的連接
3.4 SQL的子查詢語句
3.5 結(jié)果記錄集與游標(biāo)
3.6 小結(jié)
3.7 問與答
3.8 工作室
3.8.1 測(cè)驗(yàn)
3.8.2 練習(xí)
第四章 通過C++ API檢索SQL數(shù)據(jù)
4.1 關(guān)系數(shù)據(jù)庫API
4.2 Microsoft Universal Data Access
4.3 ActiveX數(shù)據(jù)對(duì)象
4.3.1 在C++應(yīng)用程序中使用ADO的技術(shù)
4.3.2 建立使用ADO的C++應(yīng)用程序
4.3.3 ADO的例外處理
4.3.4 在列表控件中顯示記錄
4.3.5 查詢數(shù)據(jù)庫中的記錄
4.4 小結(jié)
4.5 問與答
4.6 工作室
4.6.1 測(cè)驗(yàn)
4.6.2 練習(xí)
第五章 增加、修改和刪除數(shù)據(jù)
5.1 ADO Rwcordset中的游標(biāo)類型
5.2 ADO 的AddNew、Update和Delete函數(shù)
5.2.1 AddNew函數(shù)
5.2.2 Update函數(shù)
5.2.3 Delte函數(shù)
5.3 SQL的INSERT、UPDATE和DL、DELETE語句
5.3.1 SQL的INSERT語句
5.3.2 SQL的UPDATE語句
5.3.3 SQL的DELETE語句
5.4 小結(jié)
5.5 問與答
5.6 工作室
5.6.1 測(cè)驗(yàn)
5.6.2 練習(xí)
第六章 利用關(guān)系數(shù)據(jù)庫服務(wù)器的功能
6.1 多層應(yīng)用系統(tǒng)
6.2 如何在服務(wù)器上處理數(shù)據(jù)
6.3 在服務(wù)器上處理數(shù)據(jù)SQL語句
6.3.1 SQL的INSERT語句
6.3.2 SQL的UPDATE語句
6.3.3 SQL的DELETE語句
6.3.4 SQL的存儲(chǔ)過程
6.4 在服務(wù)器上處理數(shù)據(jù)的C++工具
6.4.1 使用ADO Command對(duì)象調(diào)用存儲(chǔ)過程
6.4.2 調(diào)用接收參數(shù)的存儲(chǔ)過程
6.5 小結(jié)
6.6 問與答
6.7 工作室
6.7.1 測(cè)試
6.7.2 練習(xí)
第七章 數(shù)據(jù)庫設(shè)計(jì)
7.1 數(shù)據(jù)庫規(guī)范化
7.1.1 關(guān)系數(shù)據(jù)庫設(shè)計(jì)的基本規(guī)則
7.1.2 關(guān)系數(shù)據(jù)庫模型的范式
7.2 SQL數(shù)據(jù)庫中使用約束和索引
7.3 管理關(guān)系數(shù)據(jù)庫中關(guān)系的工具和技術(shù)
7.4 使用約束強(qiáng)制實(shí)現(xiàn)關(guān)系
7.4.1 使用約束強(qiáng)制實(shí)現(xiàn)關(guān)系
7.5 小結(jié)
7.6 問與答
7.7 工作室
7.7.1 測(cè)驗(yàn)
7.7.2 練習(xí)
第一篇回顧
第二篇概述
第八章 利用數(shù)據(jù)庫服務(wù)器的能力
8.1 數(shù)據(jù)庫事務(wù)
8.1.1 SQL事務(wù)處理語句
8.2 自動(dòng)執(zhí)行SQL代碼的觸發(fā)器
8.3 SQL聚集函數(shù)
8.3.1 COUNT函數(shù)
8.3.2 MAX、MIN、SUM和AVG函數(shù)
8.3.3 聚集函數(shù)與GROUP BY從句
8.4 SQL的視圖
8.5 小結(jié)
8.6 問與答
8.7 工作室
8.7.1 測(cè)驗(yàn)
8.7.2 練習(xí)
第九章 理解COM
9.1 傳統(tǒng)Windows DLL的局限性
9.1.1 Win 32及其工作原理
9.1.2 使用Win32 DLL建立軟件組件的限制
9.2 使用COM建立軟件組件
9.2.1 使用C++抽象基類
9.2.2 使用API函靈敏創(chuàng)建對(duì)象
9.2.3 COM客戶與COM服務(wù)器
9.2.4 COM服務(wù)器
9.2.5 主動(dòng)模板庫
9.2.6 接口定義語言
9.2.7 自治
9.2.8 COM類型庫
9.3 小結(jié)
9.4 問與答
9.5 工作室
9.5.1 測(cè)驗(yàn)
9.5.2 練習(xí)
第十章 數(shù)據(jù)庫客戶技術(shù)與ADO的秘密
10.1 數(shù)據(jù)庫客房技術(shù)概述
10.1.1 ODBC
10.1.2 MFC ODBC類
10.1.3 DAO
10.1.4 RDO
10.1.5 OLE DB
10.1.6 ADO
10.1.7 數(shù)據(jù)庫客戶技術(shù)小結(jié)
10.2 ADO的秘密
10.2.1 ADO的歷史
10.2.2 ADO與COM
10.3 小結(jié)
10.4 問與答
10.5 工作室
10.5.1 測(cè)驗(yàn)
10.5.2 練習(xí)
第十一章 多層體系結(jié)構(gòu)
11.1 分層體系結(jié)構(gòu)
11.1.1 OSI模型
11.1.2 多層應(yīng)用系統(tǒng)的分層體系結(jié)構(gòu)
11.2 數(shù)據(jù)庫數(shù)據(jù)與Internet
11.2.1 CGI:數(shù)據(jù)庫與Web服務(wù)器接口的初始技術(shù)
11.2.2 DLL和服務(wù)器腳本:數(shù)據(jù)庫與Web服務(wù)器接口的改進(jìn)技術(shù)
11.2.3 XML文件
11.2.4 您喜歡什么顏色的Edsel
11.3 使用ActiveX控件與RDS建立漂亮的瘦客戶
11.4 小結(jié)
11.5 問與答
11.6 工作室
11.6.1 測(cè)驗(yàn)
11.6.2 練習(xí)
第十二章 使用Microsoft 事務(wù)處理服務(wù)器建立可伸縮的應(yīng)用程序
12.1 多層應(yīng)用系統(tǒng)的基礎(chǔ)設(shè)施
12.2 使用MTS建立多層應(yīng)用系統(tǒng)
12.2.1 MTS的來源及其安裝方法
12.2.2 MTS如何支持多層應(yīng)用系統(tǒng)
12.2.3 組件包管理MTS組件
12.2.4 使用Visual C++和ATL創(chuàng)建MTS組件
12.2.5 使用OLE-COM Viewer建立組件實(shí)例
12.2.6 使用Windows 腳本突主程序測(cè)試組件
12.2.7 在主動(dòng)服務(wù)器頁面中測(cè)試組件
12.2.8 在MTS中安裝組件
12.2.9 在主動(dòng)服務(wù)器頁面中調(diào)用MTS組件
12.2.10 把ADO Recordset從MTS組件返回給主動(dòng)服務(wù)器頁面
12.2.11 調(diào)試MTS組件
12.3 小結(jié)
12.4 問與答
12.5 工作室
12.5.1 測(cè)驗(yàn)
12.5.2 練習(xí)
第十三章 采用關(guān)系數(shù)據(jù)庫建立面向?qū)ο蟮木幊棠P?br />13.1 關(guān)系數(shù)據(jù)庫與面向?qū)ο笳Z言,現(xiàn)代應(yīng)用程序開發(fā)的維以調(diào)和的技術(shù)
13.1.1 關(guān)系模型與對(duì)象模型之間的差別
13.2 對(duì)象數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫
13.3 通過C++使用關(guān)系數(shù)據(jù)庫的代價(jià)和好處
13.4 集成關(guān)系數(shù)據(jù)庫與面向?qū)ο驝++程序的技術(shù)
13.4.1 從設(shè)計(jì)關(guān)系數(shù)據(jù)庫開始
13.4.2 創(chuàng)建簡(jiǎn)單對(duì)象/關(guān)系映射
13.4.3 創(chuàng)建一個(gè)活的對(duì)象緩存區(qū)
13.4.4 利用兩種模型的優(yōu)點(diǎn)
13.5 小結(jié)
13.6 問與答
13.7 工作室
13.7.1 測(cè)驗(yàn)
13.7.2 練習(xí)
第十四章 專用數(shù)據(jù)庫API
14.1 ODBC
14.2 ODBC驅(qū)動(dòng)程序監(jiān)管器
14.3 ODBC驅(qū)動(dòng)程序管理器
14.4 ODBC驅(qū)動(dòng)程序
14.5 ODBC API的編程順序
14.5.1 第一步:連接數(shù)據(jù)源
14.5.2 第二步:分配語句句柄
14.5.3 第三:準(zhǔn)備與執(zhí)行SQL語句
14.5.4 第四步:獲取結(jié)果
14.5.5 第五步:提交事務(wù)
14.5.6 一個(gè)簡(jiǎn)單例子
14.6 ODBC的MFC打名程序
14.6.1 CDatabase
14.6.2 CRecordSet
14.7 DAO
14.7.1 Jet數(shù)據(jù)庫引擎
14.8 DAO MFC打句程序
14.8.1 一個(gè)簡(jiǎn)單例子
14.9 小結(jié)
14.10 問與答
14.11 工作室
14.11.1 測(cè)驗(yàn)
14.11.2 練習(xí)
第二篇回顧
第三篇概要
第十五章 ODBC API與MFC ODBC類
15.1 地址簿
15.2 使用MFC ODBC打\包程序類
15.2.1 創(chuàng)建應(yīng)用程序
15.2.2 獲取數(shù)據(jù)
15.2.3 更新應(yīng)用程序的變量
15.3 使用MFC DAO打包程序類
15.3.1 仔細(xì)研究
15.3.2 獲取數(shù)據(jù)
15.3.3 其他ADO類
15.4 小結(jié)
15.5 問與答
15.6 工作室
15.6.1 測(cè)驗(yàn)
15.6.2 練習(xí)
第十六章 最終的數(shù)據(jù)庫APO:OLE DB
16.1 適用于所有數(shù)據(jù)源的API
16.1.1 OLE DB應(yīng)用程序的組件
16.1.2 使數(shù)據(jù)源可用
16.1.3 OLE DB與ODBC的比較
16.2 OLE DB對(duì)象層次結(jié)構(gòu)
16.3 獲取最新的OLE DB信息
16.4 小結(jié)
16.5 問與答
16.6 工作室
16.6.1 測(cè)驗(yàn)
16.6.2 練習(xí)
第十七章 使用OLE DB訪問數(shù)據(jù)源
17.1 數(shù)據(jù)使用程序和供給程序
17.2 接口
17.2.1 接口生成器
17.2.2 接口協(xié)商
17.3 OLE DB應(yīng)用程序流程序
17.4 枚舉
17.4.1 IParseDisplay Name接口
17.4.2 ISources Rowset接口
17.4.3 IDBInitialize接口
17.4.4 IDBProperties接口
17.4.5 ISupportErrorInfo接口
17.4.6 使用枚舉器:一個(gè)簡(jiǎn)單例子
17.5 DataSource對(duì)象
17.5.1 IDBCreateSession接口
17.5.2 IDBDataSourceAdmin接口
17.5.3 IDBInfo接口
17.5.4 IPersist接口
17.5.5 IPersisFile接口
17.6 連接DataSource對(duì)象
17.6.1 OLE DB ODBC供給程序
17.6.2 例子:連接到一個(gè)OLE DB ODBC數(shù)據(jù)源
17.7 小結(jié)
17.8 問與答
17.9 工作室
17.9.1 測(cè)驗(yàn)
17.9.2 練習(xí)
第十八章 使用OLE DB查詢數(shù)據(jù)源
18.1 會(huì)話
18.1.1 IGetDataSource接口
18.1.2 IOpenRowset接口
18.1.3 ISession Properties接口
18.1.4 IDBCreatecommand接口
18.1.5 IDBSchemarRowset接口
18.1.6 ITableDefinition接口
18.1.7 IIndexDefinition接口
18.1.8 ITransaction\ITransactioJoin\ITransactionLocal和ITransactionObject接口
18.2 命令
18.2.1 IAccessor接口
18.2.2 IColumnsInfo接口
18.2.3 ICommand接口
18.2.4 ICommandProperies接口
18.2.5 ICommandText接口
18.2.6 IConvertType接口
18.2.7 IColumnRowset接口
18.2.8 ICommandPrepare接口
18.2.9 ICommandWithParmeters接口
18.3 SQL概述
18.4 SQL查詢:數(shù)據(jù)語言
18.4.1 SELECT
18.4.2 從句
18.4.3 INSERT INTO
18.4.4 UPDATE
18.4.5 DELETE
18.5 SQL:數(shù)據(jù)定義語言
18.5.1 CREATE
18.5.2 ALTER
18.5.3 DROP
18.6 創(chuàng)建與執(zhí)行]命令
18.6.1 創(chuàng)建并執(zhí)行一個(gè)命令
18.7 訪問器
18.7.1 參數(shù)訪問器的元素
18.8 命令參數(shù)
18.9 多個(gè)結(jié)果集
18.10 小結(jié)
18.11 問與答
18.12 工作室
18.12.1 測(cè)驗(yàn)
18.12.2 練習(xí)
第十九章 漫游查詢結(jié)果
19.1 Rowset接口
19.1.1 IRowsett接口
19.1.2 IRowsetInfo接口
19.1.3 IConnectionPointContainer接口
19.1.4 IRowsetChange接口
19.1.5 IrowsetIdentity接口
19.1.6 IRowsetLocate接口
19.1.7 IRowsetResynch接口
19.1.8 IrowsertScroll接口
19.1.9 IRowsetUpdate接口
19.2 檢索數(shù)據(jù)的六個(gè)步驟
19.3 創(chuàng)建綁定
19.4 行集Accessor檢索
19.4.1 檢索行和列
19.5 漫游
19.5.1 書簽
19.5.2 延遲訪問
19.6 列類型
19.6.1 二進(jìn)制大對(duì)象
19.7 統(tǒng)一碼字符串處理
19.8 游標(biāo)
19.8.1 Static游標(biāo)
19.8.2 KeySet游標(biāo)
19.8.3 Dynamic游標(biāo)
19.9 小結(jié)
19.10 問與答
19.11 工作室
19.11.1 測(cè)驗(yàn)
19.11.2 練習(xí)
第二十章 屬性、事務(wù)與索引
20.1 屬性與屬性組
20.1.1 獲取屬性值
20.1.2 設(shè)置屬性
20.1.3 OLE DB對(duì)象屬性小結(jié)
20.2 事務(wù)
20.2.1 ITranscation接口
20.2.2 ITranscationLocal接口
20.2.3 ITransactionOptions接口
20.2.4 ItransactionObject接口
20.2.5 ItranscationJoin接口
20.2.6 創(chuàng)建事務(wù)
20.2.7 提交與夭折事務(wù)
20.2.8 嵌套事務(wù)
20.2.9 隔離級(jí)別與封鎖
20.3 Index對(duì)象
20.3.1 IRowsetINdex接口
20.3.2 使用Index對(duì)象
20.4 小結(jié)
20.5 問與答
20.6 工作室
20.6.1 測(cè)驗(yàn)
20.6.2 練習(xí)
第二十一章 OLE DB錯(cuò)誤處理
21.1 基本錯(cuò)誤處理
21.1.1 檢查錯(cuò)誤結(jié)果
21.2 自治錯(cuò)誤對(duì)象
21.2.1 ISupportErrorInof接口
21.2.2 IErrorInfo接口
21.3 OLE DB錯(cuò)誤對(duì)象
21.3.1 IErrorRecords接口
21.3.2 IErrorLookup接口
21.3.3 ISQLErrorInfo接口
21.3.4 完整的DispErrorInfo源程序代碼
21.3.5 如何集成DispErrorInfo過程
21.4 錯(cuò)誤處理應(yīng)注意的問題
21.5 返回錯(cuò)誤對(duì)象
21.5.1 線程
21.6 OLE DB HRESULT錯(cuò)誤代碼小結(jié)
21.7 小結(jié)
21.8 問與答
21.9 工作室
21.9.1 測(cè)驗(yàn)
21.9.2 練習(xí)
第三篇回顧
附錄A 其他信息源
附錄B 安裝Microsoft 數(shù)據(jù)訪問組件
附錄C HRESULT解釋
附錄D 通過OLE DB SDK使用ADO
附錄E 答案
E.1 第1章“選擇正確的數(shù)據(jù)庫技術(shù)”
E.1.1 測(cè)驗(yàn)
E.1.2 練習(xí)
E.2 第二章“Visual C++ developer Studio中的數(shù)據(jù)庫開發(fā)工具”
E.2.1 測(cè)驗(yàn)
E.2.2 練習(xí)
E.3 第三章“通過結(jié)構(gòu)查詢語言檢索數(shù)據(jù)”
E.3.1 測(cè)驗(yàn)
E.3.2 練習(xí)
E.4 第四章“通過C++ API檢索SQL數(shù)據(jù)”
E.4.1 測(cè)驗(yàn)
E.4.2 練習(xí)
E.5 第五章“增加、修改和刪除數(shù)據(jù)”
E.5.1 測(cè)驗(yàn)
E.5.2 練習(xí)
E.6 第六章“利用關(guān)系數(shù)據(jù)服務(wù)器的功能”
E.6.1 測(cè)驗(yàn)
E.6.2 練習(xí)
E.7 第七章“數(shù)據(jù)庫設(shè)計(jì)”
E.7.1 測(cè)驗(yàn)
E.7.2 練習(xí)
E.8 第八章“利用數(shù)據(jù)庫服務(wù)器的能力”
E.8.1 測(cè)驗(yàn)
E.8.2 練習(xí)
E.9 第九章“理解COM”
E.9.1 測(cè)驗(yàn)
E.9.2 練習(xí)
E.10 第十章“數(shù)據(jù)庫客戶技術(shù)與ADO的秘密”
E.10.1 測(cè)驗(yàn)
E.10.2 練習(xí)
E.11 第十一章“多層體系結(jié)構(gòu)”
E.11.1 測(cè)驗(yàn)
E.11.2 練習(xí)
E.12 第十二章“使用Microsoft 事務(wù)處理服務(wù)器建立可伸縮的應(yīng)用程序”
E.12.1 測(cè)驗(yàn)
E.12.2 練習(xí)
E.13 第十三章“采用關(guān)系數(shù)據(jù)庫建立面向?qū)ο蟮木幊棠P汀?br />E.13.1 測(cè)驗(yàn)
E.13.2 練習(xí)
E.14 第十四章“專用數(shù)據(jù)庫API”
E.14.1 測(cè)驗(yàn)
E.14.2 練習(xí)
E.15 第十五章“ODBC API與MFC ODBC類”
E.15.1 測(cè)驗(yàn)
E.15.2 練習(xí)
E.16 第十六章“最終的數(shù)據(jù)庫 API:OLE DB”
E.16.1 測(cè)驗(yàn)
E.16.2 練習(xí)
E.17 第十七章“使用OLE DB訪問數(shù)據(jù)源”
E.17.1 測(cè)驗(yàn)
E.17.2 練習(xí)
E.18 第十八章“使用OLE DB查詢數(shù)據(jù)源”
E.18.1 測(cè)驗(yàn)
E.18.2 練習(xí)
E.19 第十九章“屬性查詢結(jié)果”
E.19.1 測(cè)驗(yàn)
E.19.2 練習(xí)
E.20 第二十章“屬性、事務(wù)與索引”
E.20.1 測(cè)驗(yàn)
E.21 第二十一章“OLE DB錯(cuò)誤處理”
E.21.1 測(cè)驗(yàn)