目录 2
第一篇 基础篇 2
第1章 Visual C++和数据库开发 2
1.1 Visual C++数据库开发的特点 2
1.2 Visual C++数据库开发技术概述 2
1.2.1 ODBCAPI(开放数据库连接) 2
1.2.2 MFC ODBC类 3
1.2.3 MFCDAO(数据访问对象) 4
1.2.4 OLE DB 4
1.2.5 ADO(ActiveX数据对象) 5
2.1 SQL的功能与特性 6
第2章 SQL语言 6
2.2 SQL语法的分类 7
2.3 SELECT语句 7
2.4.7 UNION操作数 1 8
2.3.1 FROM条件子句 9
2.3.2 ORDER BY条件子句 9
2.3.3 IN条件子句 9
2.3.4 GROUP BY条件子句 10
2.3.5 HAVING条件子句 11
2.3.6 WHERE条件子句 11
2.3.7 BETWEEN…AND运算符 12
2.3.8 LIKE操作数 12
2.3.9 参数声明 12
2.3.10 SQL数学函数 13
2.4 SQL语句与数据库的管理 14
2.4.1 表格的建立 14
2.3.11 多层SQL查询 14
2.4.2 表格索引的建立 15
2.4.3 CONSTRAINT条件子句 15
2.4.4 表的删除 17
2.4.5 SELECT...INTO语句 17
2.4.6 INNER JOIN操作数 18
2.4.8 ALTER语句 18
2.4.10 INSERT INTO语句 19
2.4.9 DROP语句 19
2.4.11 UPDATE语句 20
2.4.12 LEFT JOIN和RIGHT JOIN运算 21
第3章 使用ODBCAPI访问数据库 22
3.1 ODBC简介 22
3.1.1 体系结构 22
3.1.2 句柄 23
3.1.3 异常处理 24
3.1.4 ODBC的一致性 25
3.2 使用ODBC进行数据库开发概述 25
3.2.1 创建ODBC数据源 25
3.2.5 数据类型定义 27
3.2.4 获取SQL语句执行的结果 27
3.2.2 使用ODBC所需要的文件 27
3.2.3 SQL语句执行方式 27
3.3 使用ODBC API建立应用程序 29
3.3.1 分配ODBC环境 30
3.3.2 分配连接句柄 30
3.3.3 连接数据源 31
3.3.4 SQL操作 34
3.3.5 断开同数据源的连接 41
3.3.6 清除ODBC环境 41
3.4.2 存储过程的执行与参数的绑定 42
3.4.1 利用可滚动光标进行查询 42
3.4 ODBC的其他功能 42
3.4.3 BLOB字段数据的处理 43
3.4.4 SQL语句的异步执行 45
第4章 使用MFC ODBC访问数据库 46
4.1 概述 46
4.2 CDatabase类 46
4.2.1 连接数据库 46
4.2.2 使用CDatabase类运行SQL语句 47
4.2.3 使用ODBC进行事务处理 47
4.3 CRecordset类 48
4.3.1 动态集、快照、光标和光标库 48
4.2.4 脱离数据源 48
4.3.2 域数据成员与数据交换 49
4.3.3 记录集的建立和关闭 51
4.3.4 滚动记录 53
4.3.5 修改、添加和删除记录 54
4.4 CRecordView类 55
4.5 MFC ODBC程序实例 57
4.5.1 注册数据源 58
4.5.2 运行AppWizard生成工程 58
4.5.3 生成记录浏览器 60
4.5.4 连接两个记录集 65
4.5.5 记录的添加和删除 70
第5章 MFCDAO编程 75
5.1 概述 75
5.1.1 DAO简介 75
5.1.2 DAO和ODBC的比较 75
5.1.3 DAO的特色 76
5.2 DAO内部结构 77
5.3 应用DAO编程 78
5.3.1 打开数据库 78
5.3.2 查询记录 78
5.3.6 统计记录 79
5.3.5 删除记录 79
5.3.4 修改记录 79
5.3.3 添加记录 79
5.4 MFCDAO程序实例 80
5.4.1 生成记录浏览器 80
5.4.2 添加、删除和查询记录 84
5.4.3 使用工作空间进行保存和交易 90
5.4.4 实现DAO连接 93
第6章 OLE DB编程 95
6.1 OLE DB概述 95
6.1.1 基本OLE DB结构 95
6.1.2 OLE DB客户模板结构 96
6.1.3 OLE DB提供者模板结构 97
6.2 开发MFCOLEDB用户程序 100
6.2.1 生成记录浏览器 100
6.2.2 添加、删除和查询记录 104
6.2.3 表的连接 111
6.2.4 存储和更新 114
6.3 开发ATL OLE DB用户程序 118
6.3.1 利用ATL 导 118
6.3.2 添加控件和事件 121
6.3.3 添加代码 122
6.3.4 事务处理 134
7.1.2 ADO类型库 137
7.1.1 ADO的版本 137
第7章 ADO编程 137
7.1 ADO概述 137
7.1.3 ADO对象 139
7.1.4 ADO集合 144
7.1.5 ADO错误代码 145
7.2 ADO编程 146
7.2.1 ADO连接 146
7.2.2 ADO记录集 147
7.2.3 ADO字段 149
7.2.4 在C++应用程序中使用ADO 152
7.3.1 创建图形界面 153
7.3 通过OLE DB SDK使用ADO 153
7.3.2 编写ADO应用程序 158
7.3.3 更新数据库 165
7.4 通过“#import”使用ADO 171
7.4.1 创建图形界面 171
7.4.2 利用智能指针进行数据库操作 172
7.4.3 ADO的错误处理 174
7.5 ADO程序实例 176
7.5.1 创建图形界面 177
7.5.2 进行数据库操作 177
8.1 DHTML概述 180
第8章 Web数据库开发 180
8.2 创建DHTML工程 181
8.2.1 运行DHTML工程 182
8.2.2 分析DHTML工程 183
8.3 创建DHTMLActiveXOLEDB工程 185
8.3.1 添加OLEDB用户程序 185
8.3.2 更改DHTML 187
8.3.3 建立与HTML的连接 192
第9章 非关系型数据库的访问 196
9.1 通用数据访问 196
9.2 用OLE DB阅读文本 196
9.2.1 编写文本供应程序 197
9.2.2 编写文本用户程序 203
9.3 利用OLE DB阅读E-mail 205
9.3.1 MAPI概述 205
9.3.2 开发MAPI行集 206
9.3.3 开发MAPI对话 210
9.3.4 编写MAPI用户程序 211
第10章 报表开发 214
10.1 MFC报表介绍 214
10.1.1 图形文本的输出 214
10.1.2 字体 215
10.2.1 利用OnDraw函数开发报表 216
10.2 开发ODBC报表 216
10.2.2 利用OnPrint函数开发报表 222
10.3 开发OLE DB报表 226
10.3.1 生成报表框架 226
10.3.2 编辑代码 230
第11章 二进制数据处理实例 235
11.1 浏览图像文件 235
11.1.1 数据库的设计 235
11.1.2 程序实现 236
11.2 使用ODBC打开位图图像 241
11.2.1 数据库的设计 241
11.2.2 程序实现 242
第二篇 SQL Server篇 246
第12章 SQL Server的数据库管理与工程开发 246
12.1 企业管理器 246
12.1.1 企业管理器的操作界面 246
12.1.2 启动与关闭服务器 247
12.1.3 注册服务器 248
12.1.4 连接与断开服务器 249
12.1.5 配置服务器 249
12.2 管理数据库 250
12.2.1 创建数据库 250
12.2.2 设置数据库属性 252
12.2.3 浏览数据库 253
12.3 管理表 254
12.3.1 创建数据库表 254
12.2.4 删除数据库 254
12.3.2 自定义数据类型 256
12.3.3 修改表 256
12.3.4 查看表数据 257
12.4 ODBC工程开发 257
12.4.1 创建新的ODBC数据源 257
12.4.2 创建ODBC工程 259
12.5 OLE DB工程开发 261
13.1 存储过程概述 264
第13章 存储过程 264
13.2 创建存储过程 265
13.2.1 使用企业管理器创建存储过程 265
13.2.2 用Create Procedure命令创建存储过程 266
13.3 管理存储过程 269
13.3.1 查看存储过程 269
13.3.2 重新命名存储过程 270
13.3.3 删除存储过程 270
13.3.4 执行存储过程 270
13.3.5 修改存储过程 271
14.1.1 数据库的备份类型 273
14.1 备份和恢复概述 273
第14章 数据库的备份和恢复 273
14.1.2 备份和恢复的策略 275
14.2 创建备份设备 276
14.2.1 使用企业管理器管理备份设备 276
14.2.2 使用系统过程管理备份设备 276
14.3 数据库的备份 277
14.3.1 使用企业管理器管理备份 277
14.3.2 使用Transact-SQL命令备份数据库 279
14.4 使用备份向导进行备份 282
14.5 数据库的恢复 285
14.5.1 使用企业管理器恢复数据库 285
14.5.2 使用RESTORE命令恢复数据库 286
14.5.3 数据库的部分恢复 288
14.6 备份和恢复系统数据库 289
第15章 数据转换服务(DTS) 292
15.1 基本概念 292
15.1.1 数据转换服务简介 292
15.1.2 DTS的结构 292
15.2 使用DTS导入/导出向导 294
15.3 使用DTS Designer 299
15.3.1 创建DTS Designer包 299
15.3.2 添加连接 300
15.3.4 数据转换任务的属性设置 301
15.3.3 定义数据转换 301
15.3.5 添加自定义任务 304
第16章 SQL Server的其他常用工具 306
16.1 SQL事件探察器 306
16.1.1 SQL事件探察器简介 306
16.1.2 创建跟踪 306
16.1.3 查看和分析跟踪 308
16.2 SQL查询分析器 309
16.2.1 SQL查询分析器简介 309
16.2.2 配置SQL查询分析器 309
16.2.3 使用SQL查询分析器 310
17.2 InstallShield集成开发环境 314
17.2.1 集成开发环境简介 314
第三篇 综合实例篇 314
17.1 发布工具介绍 314
第17章 使用InstallShield发布数据库系统 314
17.2.2 项目工作区窗口简介 315
17.2.3 使用集成开发环境 317
17.3 利用InstallShield创建安装项目 318
17.3.1 基本安装程序的建立 318
17.3.2 编辑程序框架 323
17.3.3 添加和修改组件 327
17.3.4 添加Shell对象 328
17.3.5 选择发布媒介 329
17.3.6 设计安装界面 332
17.4 制作数据库应用程序的安装程序 334
17.4.1 使用InstallShield安装模板 335
17.4.2 使用InstallShield工程向导 336
第18章 OLEDB综合实例——通讯录的服务器和客户端实现 342
18.1 通讯录服务器的实现 342
18.1.1 实现技术 342
18.1.2 建立新工程 342
18.1.3 去掉不必支持的接口并改写部分类 344
18.1.4 扩充CTelPrvdCommand类有关属性设置的宏 348
18.1.5 定制CTelPrvdRowset类的Execute()函数 350
18.2 通讯录服务器的技术详解 352
18.2.1 数据源对象及其接口的实现 352
18.2.2 记录集对象的实现 353
18.2.3 存储器 354
18.2.4 把客户端的文件传给服务器 354
18.3 通讯录的客户端程序 354
18.3.1 实例目标 354
18.3.2 建立新工程 354
18.3.3 界面的详细设计 355
18.3.4 修改对话框类相应代码 356
18.3.5 定制用户记录类CProvider 358
18.3.6 添加成员变量和消息响应函数 359
18.3.7 实现对话框的伸展和收缩 362
18.4 通讯录客户端的技术详解 364
18.4.1 协调数据提供程序与数据使用程序 364
18.4.2 会话、命令和行集的关系 365
18.5 程序测试 365
第19章 学生成绩管理系统 367
19.1 利用SQL Server建立数据库和表 367
19.1.1 用企业管理器创建数据库 367
19.1.2 用企业管理器创建表 368
19.1.3 建立ODBC数据源 369
19.3.1 设置主对话框 371
19.2 建立对话框框架 371
19.3 设计对话框界面 371
19.3.2 插入“班级成绩”对话框 372
19.3.3 插入“年级成绩”对话框 372
19.3.4 插入“增加记录”对话框 373
19.3.5 插入“删除记录”对话框 373
19.3.6 插入“修改记录”对话框 373
19.3.7 插入“查询记录”对话框 374
19.4 插入CRecordSet类 374
19.5 对话框代码的实现 375
19.5.1 对话框的初始化 375
19.5.2 显示记录 377
19.5.3 增加记录 382
19.5.4 删除记录 384
19.5.5 修改记录 385
19.5.6 查询记录 387
19.6 程序运行结果 389
第20章 驾校计划调度系统 390
20.1 系统简介 390
20.2 需求分析 390
20.2.1 总体功能需求 390
20.2.2 学员信息管理子系统需求分析 390
20.2.3 约车子系统需求分析 390
20.3.2 UML时序图与协作图描述 391
20.3 UML系统建模 391
20.3.1 UML用例视图描述 391
20.4 数据库的建立 392
20.5 系统程序实现 394
20.5.1 注册数据源 395
20.5.2 建立与数据源的连接 396
20.5.3 建立记录集 397
20.5.4 学员信息和班次信息切换 398
20.5.5 显示、输入和修改学员的信息 401
20.5.6 输入和显示班级信息 406
21.1.2 设计表结构 411
21.1.1 创建数据库 411
第21章 人事管理系统 411
21.1 数据库设计 411
21.2 建立工程框架 416
21.2.1 创建工程 416
21.2.2 设计主对话框 418
21.2.3 添加ADO 连接类 419
21.3 添加数据库表的类 421
21.3.1 部门表的类 421
21.3.2 员工基本信息表的类 423
21.3.3 员工家庭信息表的类 426
21.3.4 员工教育及工作经历记录表的类 427
21.3.5 员工考勤表的类 428
21.3.6 员工工作考评表的类 429
21.3.7 用户信息表的类 430
21.4 实现用户登录功能 430
21.4.1 添加全局类 431
21.4.2 添加用户登录对话框 431
21.5 实现部门管理功能 433
21.5.1 添加部门信息编辑功能 433
21.5.2 添加部门信息管理功能 434
21.5.3 添加部门信息选择功能 439
21.6.1 添加员工选择功能 440
21.6 实现员工信息管理功能 440
21.5.4 添加部门管理代码 440
21.6.2 添加员工基本信息编辑功能 444
21.6.3 添加员工基本信息管理功能 448
21.6.4 添加员工调转部门功能 452
21.6.5 添加员工照片管理功能 454
21.6.6 添加员工家庭信息编辑功能 458
21.6.7 添加员工家庭信息管理功能 460
21.6.8 添加员工教育及工作经历编辑功能 462
21.6.9 添加员工教育及工作经历管理功能 463
21.7.1 添加考勤信息编辑功能 466
21.7 实现考勤管理功能 466
21.7.2 添加考勤信息管理功能 468
21.7.3 添加员工月度考勤功能 469
21.8 实现员工考评管理功能 470
21.8.1 添加员工考评信息编辑功能 470
21.8.2 添加员工考评信息管理功能 471
21.9 实现用户管理功能 472
21.9.1 添加新建用户信息功能 472
21.9.2 添加用户信息管理功能 473
21.9.3 添加用户密码修改功能 475
21.9.4 添加用户管理代码 476
21.10 程序运行结果 477