第一篇概述
第一章 选择正确的数据库技术
1.1 为自己的C++应用程序确定适当的数据库技术
1.2 采用C++创建自己的数据库
1.2.1 定义元数据
1.2.2 处理数据库工作的一个C++基类
1.2.3 建立自己的数据库所面临的问题
1.3 OLE结构存储
1.4 记录管理程序
1.5 桌面数据库
1.5.1 通过局域网访问ISAM数据
1.6 对象数据库
1.7 关系数据库服务器
1.8 如何比较数据库技术
1.9 小结
1.10 问与答
1.11 工作室
1.11.1 测验
1.11.2 练习
第二章 Visaul C++ Developer Studio中的数据库开发工具
2.1 如何建立完备的数据库
2.2 Visual C++ Developer Studio对关系数据库模型的支持
2.2.1 安装Visaul C++ 的数据库组件
2.2.2 为示例数据库设置ODBC数据源
2.3 关系数据库的组件
2.3.1 关系数据库中的表
2.3.2 关系数据库表中的字段
2.3.3 关系数据库系统中的数据类型
2.3.4 关系数据库表中的记录
2.3.5 数据库表中的主键
2.3.6 不同表中记录之间的关系
2.4 小结
2.5 问与答
2.6 工作室
2.6.1 测验
2.6.2 练习
第三章 通过结构查询语言检索数据
3.1 结构查询语言
3.2 SQL的SELECT语句
3.2.1 ORDER BY从句
3.2.2 WHERE从句
3.3 SQL的连接
3.4 SQL的子查询语句
3.5 结果记录集与游标
3.6 小结
3.7 问与答
3.8 工作室
3.8.1 测验
3.8.2 练习
第四章 通过C++ API检索SQL数据
4.1 关系数据库API
4.2 Microsoft Universal Data Access
4.3 ActiveX数据对象
4.3.1 在C++应用程序中使用ADO的技术
4.3.2 建立使用ADO的C++应用程序
4.3.3 ADO的例外处理
4.3.4 在列表控件中显示记录
4.3.5 查询数据库中的记录
4.4 小结
4.5 问与答
4.6 工作室
4.6.1 测验
4.6.2 练习
第五章 增加、修改和删除数据
5.1 ADO Rwcordset中的游标类型
5.2 ADO 的AddNew、Update和Delete函数
5.2.1 AddNew函数
5.2.2 Update函数
5.2.3 Delte函数
5.3 SQL的INSERT、UPDATE和DL、DELETE语句
5.3.1 SQL的INSERT语句
5.3.2 SQL的UPDATE语句
5.3.3 SQL的DELETE语句
5.4 小结
5.5 问与答
5.6 工作室
5.6.1 测验
5.6.2 练习
第六章 利用关系数据库服务器的功能
6.1 多层应用系统
6.2 如何在服务器上处理数据
6.3 在服务器上处理数据SQL语句
6.3.1 SQL的INSERT语句
6.3.2 SQL的UPDATE语句
6.3.3 SQL的DELETE语句
6.3.4 SQL的存储过程
6.4 在服务器上处理数据的C++工具
6.4.1 使用ADO Command对象调用存储过程
6.4.2 调用接收参数的存储过程
6.5 小结
6.6 问与答
6.7 工作室
6.7.1 测试
6.7.2 练习
第七章 数据库设计
7.1 数据库规范化
7.1.1 关系数据库设计的基本规则
7.1.2 关系数据库模型的范式
7.2 SQL数据库中使用约束和索引
7.3 管理关系数据库中关系的工具和技术
7.4 使用约束强制实现关系
7.4.1 使用约束强制实现关系
7.5 小结
7.6 问与答
7.7 工作室
7.7.1 测验
7.7.2 练习
第一篇回顾
第二篇概述
第八章 利用数据库服务器的能力
8.1 数据库事务
8.1.1 SQL事务处理语句
8.2 自动执行SQL代码的触发器
8.3 SQL聚集函数
8.3.1 COUNT函数
8.3.2 MAX、MIN、SUM和AVG函数
8.3.3 聚集函数与GROUP BY从句
8.4 SQL的视图
8.5 小结
8.6 问与答
8.7 工作室
8.7.1 测验
8.7.2 练习
第九章 理解COM
9.1 传统Windows DLL的局限性
9.1.1 Win 32及其工作原理
9.1.2 使用Win32 DLL建立软件组件的限制
9.2 使用COM建立软件组件
9.2.1 使用C++抽象基类
9.2.2 使用API函灵敏创建对象
9.2.3 COM客户与COM服务器
9.2.4 COM服务器
9.2.5 主动模板库
9.2.6 接口定义语言
9.2.7 自治
9.2.8 COM类型库
9.3 小结
9.4 问与答
9.5 工作室
9.5.1 测验
9.5.2 练习
第十章 数据库客户技术与ADO的秘密
10.1 数据库客房技术概述
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 数据库客户技术小结
10.2 ADO的秘密
10.2.1 ADO的历史
10.2.2 ADO与COM
10.3 小结
10.4 问与答
10.5 工作室
10.5.1 测验
10.5.2 练习
第十一章 多层体系结构
11.1 分层体系结构
11.1.1 OSI模型
11.1.2 多层应用系统的分层体系结构
11.2 数据库数据与Internet
11.2.1 CGI:数据库与Web服务器接口的初始技术
11.2.2 DLL和服务器脚本:数据库与Web服务器接口的改进技术
11.2.3 XML文件
11.2.4 您喜欢什么颜色的Edsel
11.3 使用ActiveX控件与RDS建立漂亮的瘦客户
11.4 小结
11.5 问与答
11.6 工作室
11.6.1 测验
11.6.2 练习
第十二章 使用Microsoft 事务处理服务器建立可伸缩的应用程序
12.1 多层应用系统的基础设施
12.2 使用MTS建立多层应用系统
12.2.1 MTS的来源及其安装方法
12.2.2 MTS如何支持多层应用系统
12.2.3 组件包管理MTS组件
12.2.4 使用Visual C++和ATL创建MTS组件
12.2.5 使用OLE-COM Viewer建立组件实例
12.2.6 使用Windows 脚本突主程序测试组件
12.2.7 在主动服务器页面中测试组件
12.2.8 在MTS中安装组件
12.2.9 在主动服务器页面中调用MTS组件
12.2.10 把ADO Recordset从MTS组件返回给主动服务器页面
12.2.11 调试MTS组件
12.3 小结
12.4 问与答
12.5 工作室
12.5.1 测验
12.5.2 练习
第十三章 采用关系数据库建立面向对象的编程模型
13.1 关系数据库与面向对象语言,现代应用程序开发的维以调和的技术
13.1.1 关系模型与对象模型之间的差别
13.2 对象数据库与关系数据库
13.3 通过C++使用关系数据库的代价和好处
13.4 集成关系数据库与面向对象C++程序的技术
13.4.1 从设计关系数据库开始
13.4.2 创建简单对象/关系映射
13.4.3 创建一个活的对象缓存区
13.4.4 利用两种模型的优点
13.5 小结
13.6 问与答
13.7 工作室
13.7.1 测验
13.7.2 练习
第十四章 专用数据库API
14.1 ODBC
14.2 ODBC驱动程序监管器
14.3 ODBC驱动程序管理器
14.4 ODBC驱动程序
14.5 ODBC API的编程顺序
14.5.1 第一步:连接数据源
14.5.2 第二步:分配语句句柄
14.5.3 第三:准备与执行SQL语句
14.5.4 第四步:获取结果
14.5.5 第五步:提交事务
14.5.6 一个简单例子
14.6 ODBC的MFC打名程序
14.6.1 CDatabase
14.6.2 CRecordSet
14.7 DAO
14.7.1 Jet数据库引擎
14.8 DAO MFC打句程序
14.8.1 一个简单例子
14.9 小结
14.10 问与答
14.11 工作室
14.11.1 测验
14.11.2 练习
第二篇回顾
第三篇概要
第十五章 ODBC API与MFC ODBC类
15.1 地址簿
15.2 使用MFC ODBC打\包程序类
15.2.1 创建应用程序
15.2.2 获取数据
15.2.3 更新应用程序的变量
15.3 使用MFC DAO打包程序类
15.3.1 仔细研究
15.3.2 获取数据
15.3.3 其他ADO类
15.4 小结
15.5 问与答
15.6 工作室
15.6.1 测验
15.6.2 练习
第十六章 最终的数据库APO:OLE DB
16.1 适用于所有数据源的API
16.1.1 OLE DB应用程序的组件
16.1.2 使数据源可用
16.1.3 OLE DB与ODBC的比较
16.2 OLE DB对象层次结构
16.3 获取最新的OLE DB信息
16.4 小结
16.5 问与答
16.6 工作室
16.6.1 测验
16.6.2 练习
第十七章 使用OLE DB访问数据源
17.1 数据使用程序和供给程序
17.2 接口
17.2.1 接口生成器
17.2.2 接口协商
17.3 OLE DB应用程序流程序
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 使用枚举器:一个简单例子
17.5 DataSource对象
17.5.1 IDBCreateSession接口
17.5.2 IDBDataSourceAdmin接口
17.5.3 IDBInfo接口
17.5.4 IPersist接口
17.5.5 IPersisFile接口
17.6 连接DataSource对象
17.6.1 OLE DB ODBC供给程序
17.6.2 例子:连接到一个OLE DB ODBC数据源
17.7 小结
17.8 问与答
17.9 工作室
17.9.1 测验
17.9.2 练习
第十八章 使用OLE DB查询数据源
18.1 会话
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查询:数据语言
18.4.1 SELECT
18.4.2 从句
18.4.3 INSERT INTO
18.4.4 UPDATE
18.4.5 DELETE
18.5 SQL:数据定义语言
18.5.1 CREATE
18.5.2 ALTER
18.5.3 DROP
18.6 创建与执行]命令
18.6.1 创建并执行一个命令
18.7 访问器
18.7.1 参数访问器的元素
18.8 命令参数
18.9 多个结果集
18.10 小结
18.11 问与答
18.12 工作室
18.12.1 测验
18.12.2 练习
第十九章 漫游查询结果
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 检索数据的六个步骤
19.3 创建绑定
19.4 行集Accessor检索
19.4.1 检索行和列
19.5 漫游
19.5.1 书签
19.5.2 延迟访问
19.6 列类型
19.6.1 二进制大对象
19.7 统一码字符串处理
19.8 游标
19.8.1 Static游标
19.8.2 KeySet游标
19.8.3 Dynamic游标
19.9 小结
19.10 问与答
19.11 工作室
19.11.1 测验
19.11.2 练习
第二十章 属性、事务与索引
20.1 属性与属性组
20.1.1 获取属性值
20.1.2 设置属性
20.1.3 OLE DB对象属性小结
20.2 事务
20.2.1 ITranscation接口
20.2.2 ITranscationLocal接口
20.2.3 ITransactionOptions接口
20.2.4 ItransactionObject接口
20.2.5 ItranscationJoin接口
20.2.6 创建事务
20.2.7 提交与夭折事务
20.2.8 嵌套事务
20.2.9 隔离级别与封锁
20.3 Index对象
20.3.1 IRowsetINdex接口
20.3.2 使用Index对象
20.4 小结
20.5 问与答
20.6 工作室
20.6.1 测验
20.6.2 练习
第二十一章 OLE DB错误处理
21.1 基本错误处理
21.1.1 检查错误结果
21.2 自治错误对象
21.2.1 ISupportErrorInof接口
21.2.2 IErrorInfo接口
21.3 OLE DB错误对象
21.3.1 IErrorRecords接口
21.3.2 IErrorLookup接口
21.3.3 ISQLErrorInfo接口
21.3.4 完整的DispErrorInfo源程序代码
21.3.5 如何集成DispErrorInfo过程
21.4 错误处理应注意的问题
21.5 返回错误对象
21.5.1 线程
21.6 OLE DB HRESULT错误代码小结
21.7 小结
21.8 问与答
21.9 工作室
21.9.1 测验
21.9.2 练习
第三篇回顾
附录A 其他信息源
附录B 安装Microsoft 数据访问组件
附录C HRESULT解释
附录D 通过OLE DB SDK使用ADO
附录E 答案
E.1 第1章“选择正确的数据库技术”
E.1.1 测验
E.1.2 练习
E.2 第二章“Visual C++ developer Studio中的数据库开发工具”
E.2.1 测验
E.2.2 练习
E.3 第三章“通过结构查询语言检索数据”
E.3.1 测验
E.3.2 练习
E.4 第四章“通过C++ API检索SQL数据”
E.4.1 测验
E.4.2 练习
E.5 第五章“增加、修改和删除数据”
E.5.1 测验
E.5.2 练习
E.6 第六章“利用关系数据服务器的功能”
E.6.1 测验
E.6.2 练习
E.7 第七章“数据库设计”
E.7.1 测验
E.7.2 练习
E.8 第八章“利用数据库服务器的能力”
E.8.1 测验
E.8.2 练习
E.9 第九章“理解COM”
E.9.1 测验
E.9.2 练习
E.10 第十章“数据库客户技术与ADO的秘密”
E.10.1 测验
E.10.2 练习
E.11 第十一章“多层体系结构”
E.11.1 测验
E.11.2 练习
E.12 第十二章“使用Microsoft 事务处理服务器建立可伸缩的应用程序”
E.12.1 测验
E.12.2 练习
E.13 第十三章“采用关系数据库建立面向对象的编程模型”
E.13.1 测验
E.13.2 练习
E.14 第十四章“专用数据库API”
E.14.1 测验
E.14.2 练习
E.15 第十五章“ODBC API与MFC ODBC类”
E.15.1 测验
E.15.2 练习
E.16 第十六章“最终的数据库 API:OLE DB”
E.16.1 测验
E.16.2 练习
E.17 第十七章“使用OLE DB访问数据源”
E.17.1 测验
E.17.2 练习
E.18 第十八章“使用OLE DB查询数据源”
E.18.1 测验
E.18.2 练习
E.19 第十九章“属性查询结果”
E.19.1 测验
E.19.2 练习
E.20 第二十章“属性、事务与索引”
E.20.1 测验
E.21 第二十一章“OLE DB错误处理”
E.21.1 测验