《VISUAL BASIC 6数据库开发人员指南》求取 ⇩

目录1

译者序1

前言1

第一部分 ActiveX数据对象和绑定控件1

第1章 Visual Basic对企业级开发的支持1

1.1 与Visual Basic 6数据相关的新特性1

1.2 过渡到OLE DB和ADO4

1.2.1 OLE DB5

1.2.2 ActiveX数据对象6

1.3 剖析Data Environment Designer和Data View窗口7

1.4 采用ADO兼容的控件11

1.5 绑定层次型FlexGrid到Recordset13

1.6 利用Data Report Designer设计打印报表14

1.7 利用Data Form Wizard自动化设计16

1.8 绑定数据源和使用者17

1.9 使用Visual Data Tools18

1.10 掌握Microsoft SQL Server20

第2章 理解OLE DB和Universal Data Access22

2.1 数据接口22

2.1.1 利用OLE DB自下而上重新设计23

2.1.2 映射OLE DB接口到ADO25

2.2 创建ADODB.Recordset26

2.2.1 编码打开ADODB.Connection之上的ADODB.Recordset对象27

2.2.2 从DataEnvironment对象打开ADODB.Recordset对象28

2.2.3 绑定DataGrid控件到Command对象31

2.2.4 使基于Command的Recordset成为可更新的32

2.3 剖析顶层ADO的属性、方法和事件33

2.3.1 Object Browser和ADO33

2.3.2 ADODB Connection对象34

2.3.3 ADODB.Command对象45

2.3.4 ADODB.Recordset对象51

2.4 分析特定提供者ADODB.Properties集合60

2.4.1 Connection对象的Properties集合61

2.4.2 Command对象的Properties集合65

2.4.3 Recordset对象的Properties集合66

第3章 从DAO和RDO过渡到ADO68

3.1 比较ADO、DAO和RDO对象模型68

3.1.1 ADO 2.0和DAO 3.5x69

3.1.2 ADO 2.0和RDO 2.071

3.2 从DAO.Recordset到ADODB.Recordset对象72

3.2.1 比较DAO.Recordset和ADODB..Recordset的属性72

3.2.2 比较DAO.Recordset和ADODB.Recordset的方法73

3.3 利用VBA代码处理ADODB.Recordset对象74

3.3.1 直接创建Recordset75

3.3.2 在Connection对象上打开Recordset76

3.3.3 在Command对象上打开Recordset77

3.3.4 为安全的数据库指定Jet Workgroup文件78

3.3.5 表的批量更新79

3.4 利用ADODB.Recordset的新特性80

3.4.1 存储和打开文件型Recordset80

3.4.2 用Variant值和数组来编辑和添加记录行81

3.4.3 用Close和Open方法重用Connection和Recordset对象82

3.5 采用ADODB.Recordset的Find方法86

3.6 从rdoResultsets和ODBCDirect Recordset过渡到ADODB.Recordset89

3.6.1 比较rdoResultset和ADODB.Recordset89

的属性89

3.6.3 比较rdoResultset和ADODB.Recordset的事件90

3.7 理解层次型Recordset90

3.6.2 比较rdoResultset和ADODB.Recordset的方法90

3.7.1 用Data Environment Designer创建Relational Hierarchical Recordset93

3.7.2 在层次型FlexGrid控件中显示层次型Recordset95

3.7.3 用层次型Recordset取代Access的Form/Subform组合96

第4章 使用ADO Data控件和绑定控件98

4.1 创建带有用来显示和编辑数据的文本框的窗体98

4.1.1 使用Data Form Wizard创建数据项窗体98

4.1.2 向Data Environment Designer窗体中添加ADODC103

4.2 剖析ADODC数据相关的属性和事件107

4.2.1 ADODC的属性107

4.2.2 ADODC的事件109

4.3 介绍成批乐观更新109

4.4 简单绑定数据使用者控件110

4.4.1 设置DataFormat属性值110

4.4.2 用代码对控件实现简单绑定112

4.5 复杂绑定数据使用者控件113

4.5.1 绑定DataGrid到DataEnvironment对象113

4.5.2 从绑定DataList控件中选择条目116

4.5.3 绑定DataList控件119

第二部分 数据库和查询设计概念123

第5章 优化关系数据库的设计123

5.1 数据库系统分类123

5.1.1 数据库术语125

5.1.2 平面文件数据库127

5.1.3 网络和层次数据库模型127

5.1.4 关系数据库模型128

5.1.5 关系数据库管理者类型129

5.1.6 关系型SQL数据库管理系统130

5.1.7 三层客户/服务器体系结构和商业规则130

5.2 数据建模132

5.1.8 Microsoft Access:混合的RDBMS132

5.2.1 数据库图表133

5.2.2 在数据库设计中使用建模工具134

5.3 关系数据库的设计规则134

5.3.1 组织实体类135

5.3.2 规范化表数据136

5.4 为提高性能和域完整性而建立索引表140

5.4.1 表索引方法141

5.4.2 选择建立索引的字段142

5.5 数据仓库和OLTP数据分析143

第6章 学习结构化查询语言146

6.1 SQL基础回顾147

6.1.1 SQL语句的成份147

6.1.2 SQL与计算机程序语言的差异148

6.1.3 ANSI SQL的类型149

6.2 书写ANSI SQL语句150

6.2.1 SQL语句的分类151

6.2.2 SQL语法格式152

6.2.3 一个简单的SQL SELECT语句的实用语法153

6.2.4 利用可视化数据示例应用程序来浏览查询154

6.2.5 SQL操作符和表达式157

6.2.6 连接表159

6.2.7 使用嵌套查询和子查询166

6.2.8 联合查询168

6.2.9 SQL汇总函数和GROUP BY及HAVING子句169

6.3 比较Jet SQL方言和ANSI SQL-92171

6.3.1 ANSI SQL保留字和Jet SQL关键字171

6.3.2 ANSI SQL和Jet SQL间的数据类型173

转换173

7.1 用交叉表查询表示汇总数据175

第7章 运行交叉表和动作查询175

7.2 用TRANSFORM和PIVOT创建交叉表查询178

7.2.1 用谓词IN创建固定列标题180

7.2.2 创建分类交叉表查询181

7.3 把交叉表查询作为DataEnvironment命令执行181

7.4 定义动作查询183

7.4.1 用VBA代码执行动作查询184

7.4.2 VBA代码中动作查询的等价体184

7.4.3 执行动作查询时维护引用一致性185

7.5 使用SQL动作查询185

7.5.1 用制表查询创建新表185

7.5.2 向已存在的表中添加记录186

7.5.3 更新表中数据值187

7.5.4 从表中删除记录187

第8章 用ODBC连接桌面数据源188

8.1 理解ODBC API的结构189

8.1.1 单层和多层ODBC驱动程序190

8.1.2 ODBC API的一致性级别190

8.1.3 ODBC SQL一致性级别190

8.1.4 内置的ODBC标量函数192

8.2 浏览ODBC初始化文件和注册表记录193

8.2.1 三种DSN类型193

8.2.2 Odbcinst.ini194

8.2.3 Odbc.ini196

8.2.4 ODBCINST.INI和ODBC.INI的注册表键值197

8.2.5 连接组合和跟踪197

8.3 为dBASE表创建和使用DSN198

8.3.1 创建新的System DSN199

8.3.2 通过Kagera连接到dBASE数据源200

9.1 组织决策支持前端应用程序幕后的数据203

第三部分 数据库前端应用程序设计介绍203

第9章 设计一个决策支持前端应用程序203

9.1.1 指定数据源204

9.1.2 确定所需细节的层次205

9.1.3 利用Rollup(累计)保证性能和数据一致性206

9.2 设计查询策略207

9.2.1 放弃Jet QueryDef对象207

9.2.2 设计SQL累计查询208

9.2.3 从Access导入QueryDef SQL语句210

9.2.4 实现特定查询214

9.3 设计用户界面214

9.3.1 优化应用程序的易用性214

9.3.2 确认Toolbar按钮的功能218

9.4.1 获得和修改按钮的位图219

9.4 创建和使用按钮栏和工具栏219

9.4.2 添加代码以显示和隐藏窗体220

9.5 由累计数据创建图表220

9.5.1 创建Line Graph221

9.5.2 制作Bar和Area Chart223

9.5.3 显示Pie Chart225

9.6 用MSFlexGrid控件来显示详细数据226

第10章 利用数据绑定ActiveX控件230

10.1 操作DataGrid和分层FlexGrid230

10.1.1 定义DataGrid控件格式231

10.1.2 DataGrid控件的特殊属性、方法和事件234

10.1.3 定义MSFlexGrid和MSHFlexGrid控件的格式237

10.2 创建和显示分层Recordset243

10.2.1 用数据环境设计工具生成层式命令243

10.2.2 在MSHFlexGrid中显示rsCustomerRecordset245

10.2.3 用代码操作层次Recordset247

10.3 用PICTUREBOX和图像控件保存和显示图像249

10.3.1 用于索尼VISCA设备的VB视频播放系统249

10.3.2 使用AVIT Research的LANC254

ActiveX控件254

10.3.3 捕获、显示和存储视频图片254

10.3.4 为Adobe Premiere创建批捕获日志255

第11章 图形化显示Crosstab查询所产生的汇总数据257

11.1 组织一个基于Chart的决策支持应用程序257

11.1.1 在单一应用程序中组合管理级别258

11.1.2 开发一个图表的定义表格259

11.1.3 创建测试应用程序的数据261

11.2 为复杂决策支持应用程序确定导航方法264

11.2.1 使用多文档界面265

11.2.2 设计导航工具条266

11.2.3 MDI父窗体的菜单结构267

11.2.4 用代码来改变工具条按钮、MDI子窗体和图的大小268

11.2.5 在设计状态下设置Graph的属性269

11.2.6 实现前两个图表级别271

11.2.7 为MDI子窗体增加详细网格276

11.2.8 添加图和表的导航代码281

11.2.9 打印和保存图和表283

第12章 利用Report Designer和VBA代码创建报表285

12.1 设计和打印一个简单的DataReport285

12.1.1 首先设计一个半格式化的简单报表286

12.1.2 调整大小、对齐和格式化数据控件288

12.1.3 设置打印边界288

12.2 对细节记录进行分组289

12.2.1 为实现分组创建子Command289

12.2.2 添加Group Header和Footer到报表290

12.3.1 添加组Subtotal到Command层次291

12.3 使用Command汇总进行Subtotal和GrandTotal291

12.3.2 添加Product子汇总到Group Footer292

12.3.3 在层次型FlexGrid中显示Subtotal汇总294

12.3.4 为组汇总格式化MSHFlexGrid控件295

12.3.5 添加报表GrandTotal298

12.3.6 在Page Footer插入页号和日期300

12.4 用行汇总实现Crossfooting报表301

12.4.1 处理Crosstab查询结果集中的Null值302

12.4.2 添加行汇总到DataReport303

12.5 用RptFunction控件取代汇总值304

12.6 输出DataReport到HTML和Text文件306

12.7 用VBA代码实现打印307

12.7.1 打印录像带标签309

12.7.2 打印录像带目录316

13.1 利用Chart事件323

第四部分 数据存取和自动化的高级编程323

第13章 从图表中追踪数据323

13.1.1 用SeriesSelected事件选择一个MSHFlexGrid行325

13.1.2 用PointSelected事件选择单个单元326

13.2 从栈式区域图表显示单序列327

13.3 在Drilldn.vbp项目中增加一个Drilldown饼图330

13.3.1 选择一个Drilldown加载策略330

13.3.2 在设计阶段设置饼图的属性331

13.3.3 生成饼图数据331

13.4 利用MouseDown和Double_Click事件激活Drilldown333

13.5 用饼图选择追踪路径335

13.6 用选定的Drilldown数据实例化一个MSHFlexGrid338

第14章 通过Jet和VBA进行调度和设备控制343

14.1 浏览Visual Basic节目单344

14.1.2 打开录制和设备控制的窗体346

14.1.1 使用键盘浏览功能346

14.1.3 指定C波段卫星映射和IRD控制347

14.2 使用WebTV的时间表数据库348

14.3 比较大Recordset的DAO和ADO的性能351

14.4 将项目从DAO升级到ADO354

14.4.1 打开新的ADODB.Recordset对象356

14.4.2 用Find代替复合的FindFirst和FindNext方法357

14.5 利用Recordset填充定制的网格359

14.6 开发Visual Basic 6PG项目的剩余部分368

14.6.1 实时操作368

14.6.2 打印带盒标签和磁带目录369

第15章 编写本地Automation组件和ActiveXDLL371

15.1 定义Automation组件的作用371

15.2.1 进程内Automation组件373

15.2 确定使用进程内组件还是进程外组件373

15.2.2 进程外Automation组件374

15.3 建立一个简单的Automation组件374

15.3.1 将时间段选择组件升级为32位375

15.3.2 将32位Period Selection窗体转换为Automation组件376

15.3.3 调试Automation组件382

15.3.4 Period Selection组件的错误处理383

15.4 创建一个复杂的三层Automation组件384

15.4.1 设计Product Grouping组件384

15.4.2 给Product Grouping类加入一个Show方法385

第16章 为数据库应用程序创建用户控件387

16.1 使用DataRepeater控件仿制Access连续窗体387

16.1.1 设计和编辑简单的用户控件389

16.1.2 在ActiveX控件中增加DataRepeater控件391

16.1.3 克服Recordset更新故障393

16.2.2 使用ActiveX控件接口向导395

16.2 使用向导生成Automation控件395

16.2.1 设计可重用控件以节省窗体资源395

16.2.3 在Customer Phone List中创建最终窗体398

16.2.4 使用属性页向导增加属性页400

16.3 浏览BindingCollection对象402

16.3.1 BindingCollection、Binding和stdData-Format对象的属性、方法和事件402

16.3.2 使用DataBinding属性将Binding-Collection加入到用户控件中404

16.4 调试数据绑定ActiveX控件405

第五部分 多用户与客户/服务器数据库前端409

第17章 多用户Jet数据库的网络安全409

17.1 理解拓扑网络结构与操作410

17.1.1 依据范围分类的PC网络410

17.1.2 域、工作组、服务器和工作站413

17.2.1 网络驱动程序接口说明和网络适配卡驱动程序414

17.2 网络硬件和操作协议414

17.2.2 Windows NT中的网络协议栈415

17.2.3 Windows 9x和Windows NT中的TCP/IP416

17.2.4 TCP/IP上的NetBIOS、Windows Socket API以及远程访问417

17.2.5 Hub、变换机、网桥、路由器和网关418

17.2.6 数据存储冗余和备份系统419

17.2.7 本章例子中使用的拓扑结构和协议420

17.3 登录到服务器并加入工作组422

17.4 在网络环境中维护数据库安全427

17.4.1 网络授权、权限和帐户427

17.4.2 网络管理员、操作者和用户429

17.4.3 使用NTFS分区的文件权限430

17.5 理解Jet安全系统433

17.5.1 分配用户帐户并保证Jet数据库安全433

17.5.2 使用Access 97 User Level Security Wizard435

17.5.3 在Access早期版本中分配和撤销组和用户的访问权限437

17.6 使用Visual Basic 6和DAO 3.5编程实现Jet安全特性438

17.6.1 使用DAO 3.5浏览Users和Groups集合439

17.6.2 使用Container和Document对象修改权限441

17.7 OLE DB、ADO2.0与Jet安全442

第18章 使用客户/服务器数据库443

18.1 使用Microsoft SQL Server444

18.1.1 SQL Server的网络特性444

18.1.2 连接、线程和对称多处理445

18.1.3 SQL Server 7.0446

18.2 使用Access 97向导转换Nwind.mdb至SQL Server6.5448

18.2.1 准备转换449

18.2.2 使用Access 97转换向导449

18.2.3 检验转换后的SQL Server 6.5数据库453

18.2.4 使用ISQL-w运行测试查询455

18.2.6 创建一个新的nwind数据库456

18.2.5 将Jet表导入到SQL Server 7.0456

18.2.7 使用数据转换服务导入表458

18.2.8 使用SQL Server查询分析器测试nwind数据库462

18.2.9 修改导入到SQL Server 7.0的表463

18.2.10 修改表属性463

18.2.11 增加表的索引465

18.2.12 在Order-Details表中增加唯一的混合索引466

18.3 在数据库图表中指定主键和关系468

18.4 使用本地SQL Server提供者471

18.5 连接Oracle 8数据库476

18.6 使用Visual Basic 6的可视化数据工具476

18.6.1 从Visual Basic中运行可视化数据工具477

18.6.2 创建SQL Server视图477

18.7 在VBA代码中实现客户/服务器连接479

19.1 事务的定义和ACID测试481

第19章 事务处理和块操作481

19.1.1 Explicit与Implicit事务482

19.1.2 连续性与事务孤立性级别483

19.1.3 理解事务监视器的角色484

19.2 使用ADO 2.x和VBA代码处理事务485

19.2.1 事务指令的结构485

19.2.2 Jet数据库的多表事务代码487

19.2.3 在事务中使用Jet SQL489

19.2.4 用Transact-SQL实现订单入口事务491

19.3 在多个数据库中分布事务494

19.3.1 两段式提交和分布式事务坐标495

19.3.2 复制497

19.3.3 消息与事务498

19.4.2 断开连接的Recordsets499

19.4.3 使用绑定控件测试块更新499

19.4.1 使用块更新499

19.4 使用块更新和断开连接的Recordsets499

第20章 把ACCESS OLTP应用程序移植到Visual Basic 6507

20.1 为热线数据入口设计前端507

20.2 OLTP项目的升级过程509

20.3 步进完成移植过程的第一阶段510

20.3.1 准备Access应用程序511

20.3.2 创建所需的Visual Basic对象511

20.3.3 导入并调试DAO代码513

20.3.4 运行项目Vb5oltp或Ado2oltp516

20.4 从DAO到ADO的变换519

20.5 Ado2oltp项目代码概述521

第21章 使用Transact-SQL存储过程537

21.1 使用存储过程提高性能538

21.2 存储过程语法539

21.3 用存储过程替换SQL语句542

21.3.1 存储过程命名约定542

21.3.2 把Ado2oltp.frm的SELECT语句转换为过程543

21.3.3 创建存储过程544

21.3.4 测试SELECT过程549

21.3.5 用存储过程替换INSERT、UPDATE和Transaction代码550

21.4 在VBA代码中调用存储过程553

21.4.1 执行只带输入参数的过程554

21.4.2 使用带参数的DataEnvironment.Command对象555

21.4.3 对参数集合编程557

21.5 修改Ado2oltp应用程序559

21.5.1 打开连接559

21.5.2 设置存储过程参数561

21.5.3 另一个存储过程执行方法564

21.5.4 用本地存储的Recordset对象取代Jet表565

21.5.5 把Command对象传送给子过程567

21.5.6 增加字段列表以容纳Timestamp字段569

21.6 使用T-SQL调试器调试存储过程570

21.6.1 设置和测试T-SQL调试器570

21.6.2 在设计模式下调试存储过程573

21.6.3 在运行模式下进行调试574

第六部分 数据库、INTRANET和INTERNET575

第22章 把数据库与intranet和Internet集成起来575

22.1 Microsoft的数据神经系统576

22.2 Windows分布式Internet应用程序体系结构577

22.3 Visual Basic 6中与Internet有关的新特征578

22.3.1 数据库访问的远程数据服务578

22.3.2 Internet Information Server 4.0应用程序的WebClass579

22.3.3 动态HTML应用程序580

22.3.5 ActiveX文档的下载支持581

22.3.4 使用打包和发行向导进行文件分布581

22.3.6 Microsoft Transaction Server 2.0支持582

22.4 创建简单的数据使能WebClass项目582

22.4.1 使用FrontPage 98创建WebClass模板582

22.4.2 创建WebClass项目并加入DataEnvironment对象584

22.4.3 加入Products.htm585

22.4.4 显示ProductList查询的首记录的数据587

22.5 创建一个简单的DHTML项目590

22.5.1 打开新的DHTML项目并增加DHTML页591

22.5.2 显示rsProductList Recordset的数据592

22.5.3 给dhProductList加上Recordset导航按钮595

第23章 在intranet中使用ActiveX文档对象597

23.1 把Ado2oltp.VBP项目转化为ActiveX文档597

23.1.1 ActiveX文档移植向导598

23.1.2 修改代码并编译ActiveX DLL600

23.2 打包ActiveX文档对象601

23.3 多窗体项目的体系结构问题605

23.3.1 进行窗体转换605

23.3.2 修改代码606

23.3.3 处理其余的代码607

第24章 使用远程数据服务608

24.1 RDS体系结构608

24.1.1 传统数据库操作与RDS的比较609

24.1.2 RDS 2.0自动化组件610

24.2 RDS组件的方法、属性和事件612

24.3 RDS.DataSpace对象614

24.4 RDSServer.DataFactory对象614

24.5 为显式和隐式远程编码614

24.5.1 使用RDS.DataControl的隐式远程614

24.5.2 使用ADO 2.0对象和RDS.Data Control的显式远程615

24.6 使用VBA对RDS编程616

24.6.1 设置ⅡS 4.0和SQL Server 6.5+616

24.6.2 设计DHTMLPage618

24.6.3 总装页面元素的代码620

第25章 开发数据使能的Internet应用程序625

25.1 为运行VBLive进行设置626

25.2 VBLive应用程序627

25.3 VBLive的体系结构631

25.3.1 VBA代码的约定和位置632

25.3.2 WebClass代码执行跟踪633

25.4 从结构资源产生HTML637

25.5 直接从模板文件产生HTML639

25.6 使用资源文件局部化内容640

26.1 MTS在中件市场中的地位643

第26章 Microsoft Transaction Server 2.0643

第七部分 企业级开发技术643

26.2 MTS在N层客户/服务器体系结构中的地位645

26.2.1 三层结构和N层结构646

26.2.2 层间通信和状态组件646

26.2.3 N层应用程序中的事务647

26.3 在Windows NT Server 4.0下安装MTS 2.0649

26.3.1 增加MTS管理员帐户649

26.3.2 设置MTS System package的身份651

26.3.3 测试MTS的本地安装653

26.3.4 设置Sample Bank工具包和组件的属性655

26.4 在远程计算机上安装和运行Bank Client657

26.5 在工作站上安装MTS 2.0659

第27章 创建和发行MTS组件661

27.1 定义MTS组件候选661

27.1.2 资源孤立组件662

27.1.1 面向事务的组件662

27.1.3 决策支持组件663

27.2 设计高效的MTS组件663

27.2.1 ObjectContext对象665

27.2.2 共享属性管理工具666

27.2.3 ObjectContext的SecurityProperty对象667

27.2.4 ObjectControl对象667

27.2.5 MTS组件模板667

27.3 转换单项客户以使用MTS组件669

27.3.1 第一步:把数据访问操作移向类669

27.3.2 第二步:创建和测试Nwind ActiveX DLL678

27.3.3 第三步:创建、安装和测试North wind工具包680

27.3.4 第四步:把MTS组件移向产品服务器686

27.4 给工具包和组件增加安全性687

第28章 使用OLAP和MDX分析多维数据690

28.1 理解测量和维数691

28.1.1 OLTP与星型模式692

28.1.2 减少事实表的存储需求694

28.1.3 利用稀疏矩阵694

28.2 部门级定义测量和维数695

28.3 把OLAP服务程序和引擎分类696

28.4 把信息传送给客户699

28.4.1 OLAP的OLE DB和简单的MDX句法700

28.4.2 MDX示例应用程序701

28.5 开发ADO MD对象703

28.5.1 ADOMD.Catalog对象703

28.5.2 ADOMD.Cellset对象708

第八部分 附录715

术语715

1999《VISUAL BASIC 6数据库开发人员指南》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)ROGER JENNINGS著;前导工作室译 1999 北京:机械工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。