《轻松掌握用Visual C++6对数据库编程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)(L.罗比森)Lyn Robison著;黄惠菊等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1999
  • ISBN:7505354256
  • 页数:429 页
图书介绍:本书全面介绍了采用C++语言进行数据库开发的最新方法。以功能强大的数据库为基础,以面向对象的C++为开发语言充分利用职权两者的优势,可以开发功能很强的Windows 应用系统。本书结合大量实例,详尽、系统地介绍了C++语言与数据库互连的最新技术,包括如何选择适当的数据库、各种数据库API、使用组件的COM编程方法、基于Web的C++数据库开发、将关系数据库与面向对象的编程方法有机地结合起来等。本书结合正文,附有常见问题的解答和有关实际应用开发利用练习及提示。本书在C++ Windows 编程知识更新的基础上介绍数据库技巧,使得C++开发员可以充分利用自己已有的知识,具有很强的针对性和实用性。本书适合有一定C++语言经验的应用系统开发工程技术人员和大专院校师生阅读。

第一篇概要 1

第1章 选择正确的数据库技术 3

1.1 为自己的C++应用程序确定适当的数据库技术 3

1.2 采用C++创建自己的数据库 4

1.2.1 定义元数据 6

1.2.2 处理数据库工作的一个C++基类 6

1.2.3 建立自己的数据库所面临的问题 6

1.3 OLE结构存储 7

1.4 记录管理程序(Btrieve) 9

1.5 桌面数据库(FoxPro与Access) 12

1.5.1 通过局域网访问ISAM数据 14

1.6 对象数据库 15

1.7 关系数据库服务器(Oracle与SQL Server) 17

1.8 如何比较数据库技术 18

1.10 问与答 19

1.9 小结 19

1.11 工作室 20

1.11.1 测验 20

1.11.2 练习 20

第2章 Visual C++ Developer Studio中的数据库开发工具 21

2.1 如何建立完备的数据库 21

2.2 Visual C++ Developer Studio对关系数据库模型的支持 21

2.2.1 安装Visual C++的数据库组件 22

2.2.2 为示例数据库设置ODBC数据源 24

2.3 关系数据库的组件 25

2.3.1 关系数据库中的表 26

2.3.2 关系数据库表中的字段 26

2.3.3 关系数据库系统中的数据类型 26

2.3.5 数据库表中的主键 27

2.3.4 关系数据库表中的记录 27

2.4 小结 28

2.3.6 不同表中记录之间的关系 28

2.5 问与答 29

2.6 工作室 29

2.6.1 测验 29

2.6.2 练习 30

第3章 通过结构查询语言(SQL)检索数据 31

3.1 结构查询语言 31

3.2 SQL的SELECT语句 32

3.2.1 ORDER BY从句 34

3.2.2 WHERE从句 35

3.3 SQL的连接 36

3.4 SQL的子查询语句 39

3.6 小结 42

3.5 结果记录集与游标 42

3.7 问与答 43

3.8 工作室 43

3.8.1 测验 43

3.8.2 练习 43

第4章 通过C++ API检索SQL数据 44

4.1 关系数据库API 44

4.2 Microsoft Universal Data Access 44

4.3 ActiveX数据对象(ADO) 45

4.3.1 在C++应用程序中使用ADO的技术 46

4.3.2 建立使用ADO的C++应用程序 48

4.3.3 ADO的例外处理 53

4.3.4 在列表控件中显示记录 55

4.3.5 查询数据库中的记录 57

4.4 小结 60

4.5 问与答 60

4.6 工作室 60

4.6.1 测验 60

4.6.2 练习 61

第5章 增加、修改和删除数据 62

5.1 ADO Rwcordset中的游标类型 62

5.2 ADO的AddNew、Update和Delete函数 63

5.2.1 AddNew函数 64

5.2.2 Update函数 67

5.2.3 Delete函数 68

5.3 SQL的INSERT、UPDATE和DELETE语句 70

5.3.1 SQL的INSERT语句 70

5.3.2 SQL的UPDATE语句 71

5.3.3 SQL的DELETE语句 72

5.4 小结 73

5.5 问与答 73

5.6 工作室 74

5.6.1 测验 74

5.6.2 练习 74

第6章 利用关系数据库服务器的功能 75

6.1 多层应用系统 75

6.2 如何在服务器上处理数据 76

6.3 在服务器上处理数据SQL语句 76

6.3.1 SQL的INSERT语句 76

6.3.2 SQL的UPDATE语句 78

6.3.3 SQL的DELETE语句 78

6.3.4 SQL的存储过程 79

6.4.1 使用ADO Command对象调用存储过程 82

6.4 在服务器上处理数据的C++工具 82

6.4.2 调用接收参数的存储过程 84

6.5 小结 87

6.6 问与答 87

6.7 工作室 88

6.7.1 测验 88

6.7.2 练习 88

第7章 数据库设计 89

7.1 数据库规范化 89

7.1.1 关系数据库设计的基本规则 89

7.1.2 关系数据库模型的范式 90

7.2 SQL数据定义语言 92

7.3 在关系数据库中使用约束和索引 96

7.4.1 使用约束强制实现关系 97

7.4 管理关系数据库中关系的工具和技术 97

7.5 小结 99

7.6 问与答 99

7.7 工作室 100

7.7.1 测验 100

7.7.2 练习 100

第一篇回顾 101

第二篇概要 103

第8章 利用数据库服务器的能力 105

8.1 数据库事务 105

8.1.1 SQL事务处理语句 106

8.2 自动执行SQL代码的触发器 108

8.3 SQL聚集函数 109

8.3.1 COUNT函数 110

8.3.3 聚集函数与GROUP BY从句 111

8.3.2 MAX、MIN、SUM和AVG函数 111

8.4 SQL的视图 114

8.5 小结 116

8.6 问与答 116

8.7 工作室 117

8.7.1 测验 117

8.7.2 练习 117

第9章 理解COM 118

9.1 传统Windows DLL的局限性 118

9.1.1 Win32及其工作原理 119

9.1.2 使用Win32 DLL建立软件组件的限制 121

9.2 使用COM建立软件组件 124

9.2.1 使用C++抽象基类 124

9.2.2 使用API函数创建对象 128

9.2.3 COM客户与COM服务器 129

9.2.4 COM服务器 130

9.2.5 主动模板库(ATL) 133

9.2.6 接口定义语言 139

9.2.7 自治(以前叫做OLE自治) 139

9.2.8 COM类型库 140

9.3 小结 140

9.4 问与答 140

9.5 工作室 141

9.5.1 测验 141

9.5.2 练习 141

第10章 数据库客户技术与ADO的秘密 142

10.1 数据库客户技术概述 142

10.1.1 ODBC 143

10.1.2 MFC ODBC类 144

10.1.3 DAO 145

10.1.4 RDO 146

10.1.5 OLE DB 146

10.1.6 ADO 147

10.1.7 数据库客户技术小结 148

10.2 ADO的秘密 149

10.2.1 ADO的历史 149

10.2.2 ADO与COM 149

10.3 小结 162

10.4 问与答 162

10.5 工作室 162

10.5.1 测验 163

10.5.2 练习 163

11.1.1 OSI模型 164

第11章 多层体系结构 164

11.1 分层的体系结构 164

11.1.2 多层应用系统的分层体系结构 165

11.2 数据库数据与Internet 169

11.2.1 CGI:数据库与Web服务器接口的初始技术 169

11.2.2 DLL和服务器脚本:数据库与Web服务器接口的改进技术 169

11.2.3 XML文件 170

11.2.4 您喜欢什么颜色的Edsel 173

11.3 使用ActiveX控件与RDS建立漂亮的瘦客户 175

11.4 小结 183

11.5 问与答 183

11.6 工作室 184

11.6.1 测验 184

11.6.2 练习 184

12.1 多层应用系统的基础设施 185

第12章 使用Microsoft事务处理服务器建立可伸缩的应用程序 185

12.2 使用MTS建立多层应用系统 186

12.2.1 MTS的来源及其安装方法 186

12.2.2 MTS如何支持多层应用系统 187

12.2.3 使用组件包管理MTS组件 189

12.2.4 使用Visual C++和ATL创建MTS组件 192

12.2.5 使用OLE-COM Viewer建立组件实例 195

12.2.6 使用Windows脚本宿主程序测试组件 196

12.2.7 在主动服务器页面中测试组件 197

12.2.8 在MTS中安装组件 200

12.2.9 在主动服务器页面中调用MTS组件 201

12.2.10 把ADO Recordset从MTS组件返回给主动服务器页面 202

12.2.11 调试MTS组件 206

12.5 工作室 207

12.5.1 测验 207

12.3 小结 207

12.4 问与答 207

12.5.2 练习 208

第13章 采用关系数据库建立面向对象的编程模型 209

13.1 关系数据库与面向对象语言,现代应用程序开发的难以调和的技术 209

13.1.1 关系模型与对象模型之间的差别 209

13.2 对象数据库与关系数据库 212

13.3 通过C++使用关系数据库的代价和好处 214

13.4 集成关系数据库与面向对象C++程序的技术 214

13.4.1 从设计关系数据库开始 214

13.4.2 创建简单对象/关系映射 215

13.4.3 创建一个活的对象缓存区 218

13.6 问与答 219

13.5 小结 219

13.4.4 利用两种模型的优点 219

13.7 工作室 220

13.7.1 测验 220

13.7.2 练习 220

第14章 专用数据库API 221

14.1 ODBC 221

14.2 ODBC驱动程序监管器 222

14.3 ODBC驱动程序管理器 223

14.4 ODBC驱动程序 223

14.5 ODBC API的编程顺序 224

14.5.1 第一步:连接数据源 224

14.5.2 第二步:分配语句句柄 225

14.5.3 第三步:准备与执行SQL语句 225

14.5.4 第四步:获取结果 225

14.5.6 一个简单例子 226

14.5.5 第五步:提交事务 226

14.6 ODBC的MFC打包程序 228

14.6.1 CDatabase 228

14.6.2 CRecordSet 229

14.7 DAO 230

14.7.1 Jet数据库引擎 230

14.8 DAO MFC打包程序 231

14.8.1 一个简单例子 232

14.9 小结 234

14.10 问与答 234

14.11 工作室 235

14.11.1 测验 235

14.11.2 练习 235

第二篇回顾 236

第三篇概要 239

15.1 地址簿 241

第15章 ODBC API与MFC ODBC类 241

15.2 使用MFC ODBC打包程序类 242

15.2.1 创建应用程序 242

15.2.2 获取数据 249

15.2.3 更新应用程序的变量 251

15.3 使用MFC DAO打包程序类 251

15.3.1 仔细研究 252

15.3.2 获取数据 257

15.3.3 其他DAO类 258

15.4 小结 259

15.5 问与答 259

15.6 工作室 259

15.6.2 练习 260

15.6.1 测验 260

第16章 最终的数据库API:OLE DB 261

16.1 适用于所有数据源的API 261

16.1.1 OLE DB应用程序的组件 261

16.1.2 使数据源可用 262

16.1.3 OLE DB与ODBC的比较 262

16.2 OLE DB对象层次结构 267

16.3 获取最新的OLE DB信息 269

16.4 小结 269

16.5 问与答 270

16.6 工作室 270

16.6.1 测验 270

16.6.2 练习 271

17.1 数据使用程序和供给程序 272

第17章 使用OLE DB访问数据源 272

17.2 接口 273

17.2.1 接口生成器 273

17.3 OLE DB应用程序流程 276

17.4 枚举器 277

17.4.1 IParseDisplay Name接口 278

17.4.2 ISourcesRowset接口 279

17.4.3 IDBInitialize接口 280

17.4.4 IDBProperties接口 280

17.4.5 ISupportErrorInfo接口 280

17.4.6 使用枚举器:一个简单例子 281

17.2.2 接口协商 284

17.5 DataSource对象 287

17.5.2 IDBDataSourceAdmin接口 288

17.5.1 IDBCreateSession接口 288

17.5.3 IDBInfo接口 289

17.5.4 IPersist接口 291

17.5.5 IPersistFile接口 291

17.6 连接DataSource对象 293

17.6.1 OLE DB ODBC供给程序 294

17.6.2 例子:连接到一个OLF DB ODBC数据源 295

17.7 小结 298

17.8 问与答 298

17.9 工作室 299

17.9.1 测验 299

17.9.2 练习 300

第18章 使用OLE DB查询数据源 301

18.1 会话 301

18.1.2 IOpenRowset接口 302

18.1.1 IGetDataSource接口 302

18.1.3 ISessionProperties接口 304

18.1.4 IDBCreateCommand接口 304

18.1.5 IDBSchemaRowset接口 304

18.1.6 ITableDefinition接口 305

18.1.7 IIndexDefinition接口 308

18.1.8 ITransaction、ItransactionJoin、ITran sactionLocal和ITransactionObject接口 308

18.2 命令 308

18.2.1 IAccessor接口 309

18.2.2 IColumnsInfo接口 310

18.2.3 ICommand接口 310

18.2.4 ICommandProperties接口 311

18.2.5 IcommandText接口 311

18.2.6 IConvertType接口 312

18.2.7 ICoIumnRowset接口 313

18.2.8 ICommandPrepare接口 313

18.2.9 ICommandWithParameters接口 314

18.3 SQL概述 314

18.4 SQL查询:数据维护语言 315

18.4.1 SELECT 316

18.4.2 从句 317

18.4.3 INSERT INTO 324

18.4.4 UPDATE 324

18.4.5 DELETE 324

18.5 SQL:数据定义语言 325

18.5.1 CREATE 325

18.5.2 ALTER 325

18.5.3 DROP 325

18.6.1 创建并执行一个命令 326

18.6 创建与执行命令 326

18.7 访问器 330

18.7.1 参数访问器的元素 330

18.8 命令参数 331

18.9 多个结果集 332

18.10 小结 333

18.11 问与答 333

18.12 工作室 333

18.12.1 测验 333

18.12.2 练习 334

第19章 漫游查询结果 335

19.1 Rowset接口 335

19.1.1 IRowset接口 336

19.1.3 IConnectionPointContainer接口 337

19.1.2 IRowsetInfo接口 337

19.1.4 IRowsetChange接口 338

19.1.5 IRowsetIdentity接口 338

19.1.6 IRowsetLocate接口 339

19.1.7 IRowsetResynch接口 339

19.1.8 IRowsetScroll接口 339

19.1.9 IRowsetUpdate接口 340

19.2 检索数据的六个步骤 341

19.3 创建绑定 342

19.4 行集Accessor 345

19.4.1 检索行和列 346

19.5 漫游 354

19.5.1 书签 355

19.5.2 延迟访问 356

19.6 列类型 356

19.6.1 二进制大对象 358

19.7 统一码字符串处理 359

19.8.1 Static游标 360

19.8.2 KeySet游标 360

19.8.3 Dynamic游标 360

19.9 小结 360

19.8 游标 360

19.10 问与答 361

19.11 工作室 361

19.11.1 测验 361

19.11.2 练习 361

第20章 属性、事务与索引 362

20.1 属性与属性组 362

20.1.1 获取属性值 362

20.1.2 设置属性 366

20.1.3 OLE DB对象属性小结 368

20.2.1 ITransaction接口 376

20.2 事务 376

20.2.2 ITransactionLocal接口 378

20.2.3 ITransactionOptions接口 378

20.2.4 ITransactionObject接口 379

20.2.5 ITransactionJoin接口 379

20.2.6 创建事务 379

20.2.7 提交与夭折事务 380

20.2.8 嵌套事务 381

20.2.9 隔离级别与封锁 381

20.3 Index对象 382

20.3.1 IRowsetIndex接口 382

20.3.2 使用Index对象 384

20.4 小结 384

20.6.2 练习 385

20.6.1 测验 385

20.5 问与答 385

20.6 工作室 385

第21章 OLE DB错误处理 386

21.1 基本错误处理 386

21.1.1 检查错误结果 386

21.2 自治错误对象 387

21.2.1 ISupportErrorInfo接口 387

21.2.2 IErrorInfo接口 388

21.3 OLE DB错误对象 389

21.3.1 IErrorRecords接口 389

21.3.2 IErrorLookup接口 391

21.3.3 ISQLErrorInfo接口 391

21.3.4 完整的DispErrorInfo源程序代码 392

21.3.5 如何集成DispErrorInfo过程 394

21.4 错误处理应注意的问题 395

21.5 返回错误对象 395

21.5.1 线程 396

21.6 OLE DB HRESULT错误代码小结 397

21.7 小结 401

21.8 问与答 401

21.9 工作室 402

21.9.1 测验 402

21.9.2 练习 402

第三篇回顾 403

附录A 其他信息源 404

附录B 安装Microsoft数据访问组件 405

附录C HRESULT解释 406

附录D 通过OLE DB SDK使用ADO 407

附录E 答案 411

E.1 第1章“选择正确的数据库技术” 411

E.1.1 测验 411

E.1.2 练习 411

E.2 第2章“Visual C++ Developer Studio中的数据库开发工具” 412

E.2.1 测验 412

E.2.2 练习 412

E.3 第3章“通过结构查询语言(SQL)检索数据” 413

E.3.1 测验 413

E.3.2 练习 413

E.4 第4章“通过C++ API检索SQL数据” 414

E.4.1 测验 414

E.4.2 练习 414

E.5.2 练习 415

E.5.1 测验 415

E.5 第5章“增加、修改和删除数据” 415

E.6 第6章“利用关系数据库服务器的功能” 416

E.6.1 测验 416

E.6.2 练习 416

E.7 第7章“数据库设计” 417

E.7.1 测验 417

E.7.2 练习 417

E.8 第8章“利用数据库服务器的能力” 418

E.8.1 测验 418

E.8.2 练习 418

E.9 第9章“理解COM” 419

E.9.1 测验 419

E.9.2 练习 419

E.10.2 练习 420

E.10 第10章“数据库客户技术与ADO的秘密” 420

E.10.1 测验 420

E.11 第11章“多层体系结构” 421

E.11.1 测验 421

E.12 第12章“使用Microsoft事务处理服务器建立可伸缩的应用程序” 421

E.12.1 测验 421

E.12.2 练习 422

E.13 第13章“采用关系数据库建立面向对象的编程模型” 422

E.13.1 测验 422

E.14.2 练习 423

E.15 第15章“ODBC API与MFC ODBC类” 423

E.15.1 测验 423

E.14 第14章“专用数据库API” 423

E.13.2 练习 423

E.14.1 测验 423

E.15.2 练习 424

E.16 第16章“最终的数据库API:OLE DB” 424

E.16.1 测验 424

E.17 第17章“使用OLE DB访问数据源” 425

E.17.1 测验 425

E.18.1 测验 426

E.17.2 练习 426

E.18 第18章“使用OLE DB查询数据源” 426

E.19 第19章“漫游查询结果” 427

E.19.1 测验 427

E.20 第20章“属性、事务与索引” 428

E.20.1 测验 428

E.21 第21章“OLE DB错误处理” 428

E.21.1 测验 428