ISBN: 1-893-11519-4
TITLE: Serious ADO: Universal Data Access with Visual Basic
AUTHOR: Macdonald, Rob
TOC:

Introduction 
Chapter 1 - ADO's Big Idea 
The Look and Feel of ADO 
ADO Components and Libraries 
Summary 
Part One ADO IN DEPTH 
Chapter 2 - ADO Unplugged 
Recordset and Field Objects 
Look, No Connection! - Creating a Standalone Recordset 
Basic Recordset Navigation 
Find, Sort, and Filter 
Working with Pages 
Modification Operations 
ADO Data Types and Attributes 
Data Types 
Attributes 
Decimal and Numeric Data Types 
Introducing Property Objects 
Recordset Optimizations 
Cloning 
Recordset Error Handling 
Records ets Compared to Other Data Structures 
The Data Structure Performance "Shoot-out" 
Performance Tests Applied in the "Shoot-out" 
The "Shoot-out" Results 
Summary 
Chapter 3 - Recordsets with SQL Data Sources 
ADO and ODBC 
The Open Method 
Staying Connected-Cursor Control 
Forward-Only Cursor 
Static Cursor 
Keyset Cursor 
Dynamic Cursor 
Unspecified Cursor 
Staying Connected-Lock Control 
Read-Only Lock 
Pessimistic Lock 
Optimistic Lock 
Batch Optimistic Lock 
Examining the Fields Collection 
Handling Null Data 
Handling Large Data Fields 
Handling Special Columns 
Dynamic Field Properties 
Modifications and Locking with Client-Side Cursors 
Overcoming Missing Fields 
Modifications Applied to Joins 
Specifying a Unique Table 
Resynchronizing Connected Recordsets 
Using Index and Seek 
Processing Multiple Recordsets 
Optimization for SQL Data Sources 
Append-only Recordsets 
Cache Size 
Summary 
Chapter 4 - Explicit Connections 
Creating and Using Connections 
Data Link Files 
Other Properties Used When Connecting 
The Execute Method 
Getting Schema Information 
Connection Properties 
ADO and Transactions 
Programming Transactions with ADO 
Concurrency and Isolation 
ADO and Errors 
Connection Pooling 
A Two-Tier Pooling Scenario 
An N-Tier Pooling Scenario 
Summary 
Chapter 5 - Explicit Commands 
Why Use Command Objects? 
Parameters and Parameter Objects 
The Lazy Way to Use Parameters 
The Inefficient Way to Use Parameters 
Using Explicit Parameter Objects Efficiently 
Commands with Multiple Parameters 
Working with Stored Procedures 
Stored Procedure Example 
Stored Procedures with Multiple SELECT Statements 
Stored Procedures and Temporary Tables 
Command Optimizations 
Summary 
Chapter 6 - The ADO Event Model and Asynchronous Processing 
Connection Events 
Recordset Events 
Strategies for Using Events 
Asynchronous Processing 
Opening a Connection Asynchronously 
Cancelling an Asynchronous Command 
Asynchronous Fetch with Client-side Cursors 
Summary 
Chapter 7 - Disconnected Recordsets 
ADO in an N-Tier Environment 
The Mechanics of Disconnecting 
Batch Updating 
Preprocessing a Batch Update 
Postprocessing a Batch Update 
Advanced Postprocessing 
Resynchronizing Disconnected Recordsets 
Disconnected Recordsets and Stored Procedures 
Recordset Marshalling 
Batch Updating Using an N-Tier Model 
Recordset Persistence 
Persisting with a Stream Object 
Persisting Using the ASP Response Object 
Persisting with a PropertyBag 
Persisting with an MSMQ Message Body 
Explicit Persisting 
Summary 
Chapter 8 - Recordset Recursion and Data Shaping 
The Idea of Data Shaping 
Creating the Connection String 
Relation-based Hierarchies 
Hierarchical Recordset Navigation 
Generic Hierarchical Recordset Navigation 
Updating Hierarchical Recordsets 
Creating Complex Shapes Using Reshaping 
Chapterless Child Recordsets 
Avoiding Command Objects 
Extending and Fabricating Recordsets Using Data Shaping 
Fabricated Hierarchical Recordsets 
Combining Provider and Fabricated Recordsets 
Parameterized Data Shaping 
External Parameters 
Internal Parameters 
Combining Internal and External Parameters 
Group-based Hierarchies 
Functions Supported by the COMPUTE Statement 
Combining Group-based and Parameterized Relation-based Hierarchies 
Summary 
Chapter 9 - Working with Documents - Records and Streams 
Semi-structured Data 
The Internet Publishing Provider 
The Record Object 
Opening and Closing Records 
Deleting, Moving, and Copying Resources 
The GetChildren Method 
Using Records and Recordsets 
Streams 
Opening, Closing, and Saving Streams 
Uploading and Downloading Using Streams 
Stream Content Manipulation 
Summary 
Chapter 10 - The ADO Data Definition Language and Security Model 
(ADOX) 
The Death of DAO 
Using ADOX 
Working with Table Objects 
Adding Tables into SQLServer 
ADOX and Jet 
Using ADOX Security Features with Jet 
Summary 
Chapter 11 - Creating Simple Providers 
Why Do It? 
The Simple Provider Interface 
Creating a Read-only Provider 
ReadingVB Source Code 
Creating the Record Source Object Class 
Creating the Data Source Object Class 
Registering and Using Simple Providers 
Creating an Updateable Provider 
Supporting OLEDBSimpleProviderListeners 
Implementing deleteRows 
Implementing insertRows 
Implementing setVariant 
Data Shaping with Simple Providers 
Summary 
Part Two ADO AT LARGE 
Chapter 12 - Binding and Data-aware Objects 
Binding with Controls 
Binding Programmatically 
Using Format Objects 
Binding to Controls and Properties That Are Not Data Aware 
Binding with Classes 
Creating a Nonvisual Data Consumer 
The Data Repeater Control 
Binding Hierarchical Recordsets 
Displaying Complex Hierarchies 
Summary 
Chapter 13 - The Data Environment 
What Is a Data Environment? 
Building a Form Using Drag-and-Drop 
Building a Form Using Explicit Binding 
Using the Data Environment Programmatically 
Adding Code to the Data Environment 
Using Parameterized Commands 
Executing Before Loading the Form 
Executing After Loading the Form 
Defining Hierarchical Recordsets 
Making Data Environments into Components 
Summary 
Chapter 14 - ADO, DNA, MTS, and COM+ 
What Are MTS and COM+? 
Non-Transactional Components 
Transactional Components 
Connection-oriented vs. Transaction-oriented Systems 
Creating Transactional Components Using ADO 
Distributed Transactions 
Controlling Secondary Objects in COM+ 
Controlling Secondary Objects in MIS 
Summary 
Chapter 15 - RDS and DHTML 
RDS and DHTML in Action 
RDS Components and Architecture 
The RDS DataControl 
The RDS DataSpace 
The RDSServer DataFactory 
The MS Remote Provider 
RDS Customization Handlers 
Using RDS with Custom Business Objects 
Summary 
Chapter 16 - Multidimensional ADO (ADOMD) 
OLAP and Multidimensional Data 
The MDX Command Language 
ADOMD - Dimensions and Axes 
Working with a Three-dimensional Cellset 
Creating Slices Using a WHERE Clause 
Using ADODB Recordsets with OLAP Servers 
Drill Down - Hierarchies, Levels, and Members 
Defining Axes with Multiple Levels 
ADOMD-aware Controls 
Summary 
GLOSSARY 
Index 
END
