search for books and compare prices
Tables of Contents for Learn Ole Db Development With Visual C++ 6.0
Chapter/Section Title
Page #
Page Count
Introduction
xiii
 
A COM Primer
1
22
What is COM?
1
1
How Did COM Happen?
2
3
Why Do We Need COM?
5
3
How COM Works
8
2
The COM Server
8
1
The COM ClassFactory
8
1
The COM Interface
8
1
The COM Reference Count
9
1
The COM System in Windows
10
1
The COM Client
10
1
COM is Static, Automation is Dynamic
10
2
Automation Opens COM to the World
12
1
From Automation to OCX to ActiveX
13
3
ActiveX Controls are Automation Servers with a User Interface
16
1
Stock Properties and Property Pages Standardize ActiveX Control Behavior
17
2
Connection Points Allow Events to be Sent from ActiveX Controls to Containers
19
2
Persistence Allows ActiveX Controls to Save Their State Over Time
21
1
Where We Go From Here
21
2
An ATL Primer
23
18
ATL in Visual C++
23
2
Getting ATL for Older Visual C++ Versions
24
1
ATL's Online Documentation
24
1
Creating ATL Projects with the ATL AppWizard
25
2
The New Dialog
25
1
The ATL AppWizard
26
1
The Confirmation Dialog
26
1
Adding COM Interfaces with the ATL Object Wizard
27
3
The Object Wizard Objects
27
1
The Object Wizard Controls
27
1
The Object Wizard Miscellaneous Elements
28
1
The Object Wizard Data Access Elements
28
1
The Object Wizard Names Tab
28
1
The Object Wizard Attributes Tab
29
1
Specialized Object Wizard Tabs
29
1
Creating Functions and Properties with the ATL Interface Wizards
30
2
The ClassView Shortcut Menu
30
1
The Add Method to Interface Dialog
30
1
The Add Property to Interface Dialog
31
1
The Edit Attributes Dialog
32
1
Some Advanced Topics for ATL Projects
32
1
The Proxy Generator
32
1
Advanced Servers
33
1
ATL Code (Templates and Macros, Oh My!)
33
1
Templates Create Custom Classes from Standard C++ Code
33
1
Macros Expand into Customized Code
33
1
What's New with ATL Version 3.0?
34
6
Version 3.0 Changes to the AppWizard
34
1
Version 3.0 Changes to the ATL Object Wizard
35
1
Version 3.0 Changes to the ClassView Context Menus
36
1
The Add Windows Message Handler Option
36
2
The Implement Connection Point Option
38
1
The Implement Interface Option
39
1
Where We Go From Here
40
1
An MFC Primer
41
12
MFC in Visual C++
41
1
MFC's Online Documentation
41
1
Creating MFC Projects with the MFC ActiveX ControlWizard
42
2
The New Dialog
42
1
The MFC ActiveX ControlWizard
43
1
The Confirmation Dialog
44
1
Working MFC Magic with the ClassWizard
44
3
The ClassWizard Message Maps Tab
45
1
The ClassWizard Member Variables Tab
45
1
The ClassWizard Automation Tab
46
1
The ClassWizard ActiveX Events Tab
46
1
The ClassWizard Class Info Tab
47
1
Augmenting ActiveX Control Features with ClassWizard Dialogs
47
2
The ClassWizard New Class Dialog
47
1
The ClassWizard Add Method Dialog
48
1
The ClassWizard Add Property Dialog
48
1
The ClassWizard Add Event Dialog
49
1
Some Advanced Topics for MFC ActiveX Control Projects
49
3
Using Windows Events with ClassWizard
49
1
Editing Property Pages
50
1
Connecting Property Page Controls to ActiveX Control Properties with ClassWizard
51
1
MFC Code (Classes and Macros, Oh My!)
52
1
MFC Classes Encapsulate Much Windows Functionality in C++ Wrappers
52
1
Macros Expand into Customized Code
52
1
Where We Go From Here
52
1
An OLE DB Primer
53
182
IAccessor
53
13
IAccessor::AddRefAccessor
54
1
IAccessor::CreateAccessor
55
8
IAccessor::GetBindings
63
2
IAccessor::ReleaseAccessor
65
1
IColumnsInfo
66
9
IColumnsInfo::GetColumnInfo
67
7
IColumnsInfo::MapColumnIDs
74
1
ISourcesRowset
75
4
ISourcesRowset::GetSourcesRowset
75
4
IDBCreateSession
79
1
IDBCreateSession::CreateSession
79
1
IDBInfo
80
10
IDBInfo::GetKeywords
80
4
IDBInfo::GetLiteralInfo
84
6
IGetDataSource
90
1
IGetDataSource::GetDataSource
90
1
IOpenRowset
91
4
IOpenRowset::OpenRowset
91
4
ISessionProperties
95
4
ISessionProperties::GetProperties
95
2
ISessionProperties::SetProperties
97
2
IDBCreateCommand
99
1
IDBCreateCommand::CreateCommand
99
1
ITableDefinition
100
9
ITableDefinition::AddColumn
100
2
ITableDefinition::CreateTable
102
5
ITableDefinition::DropColumn
107
1
ITableDefinition::DropTable
108
1
ICommand
109
8
ICommand::Cancel
109
1
ICommand::Execute
110
6
ICommand::GetDBSession
116
1
ICommandProperties
117
6
ICommandProperties::GetProperties
118
3
ICommandProperties::SetProperties
121
2
ICommandText
123
3
ICommandText::GetCommandText
124
1
ICommandText::SetCommandText
125
1
IColumnsRowset
126
12
IColumnsRowset::GetAvailableColumns
127
1
IColumnsRowset::GetColumnsRowset
128
4
Required Metadata Columns
132
2
Optional Metadata Columns
134
4
ICommandPrepare
138
2
ICommandPrepare::Prepare
138
2
ICommandPrepare::Unprepare
140
1
ICommandWithParameters
140
10
ICommandWithParameters::GetParameterInfo
141
3
ICommandWithParameters::MapParameterNames
144
1
ICommandWithParameters::SetParameterInfo
145
5
IRowset
150
17
IRowset::AddRefRows
153
2
IRowset::GetData
155
2
IRowset::GetNextRows
157
5
IRowset::ReleaseRows
162
3
IRowset::RestartPosition
165
2
IRowsetInfo
167
6
IRowsetInfo::GetProperties
168
3
IRowsetInfo::GetReferencedRowset
171
1
IRowsetInfo::GetSpecification
172
1
IRowsetChange
173
14
IRowsetChange::DeleteRows
174
3
IRowsetChange::InsertRow
177
5
IRowsetChange::SetData
182
5
IRowsetUpdate
187
16
IRowsetUpdate::GetOriginalData
188
3
IRowsetUpdate::GetPendingRows
191
2
IRowsetUpdate::GetRowStatus
193
2
IRowsetUpdate::Undo
195
4
IRowsetUpdate::Update
199
4
ITransaction
203
6
ITransaction::Abort
204
1
ITransaction::Commit
205
2
ITransaction::GetTransactionInfo
207
2
ITransactionOptions
209
1
ITransactionOptions::GetOptions
209
1
ITransactionOptions::SetOptions
209
1
ITransactionObject
210
1
ITransactionObject::GetTransactionObject
211
1
ITransactionJoin
211
3
ITransactionJoin::GetOptionsObject
212
1
ITransactionJoin::JoinTransaction
212
2
IRowsetIndex
214
8
IRowsetIndex::GetIndexInfo
215
1
IRowsetIndex::Seek
216
3
IRowsetIndex::SetRange
219
3
IErrorRecords
222
6
IErrorRecords::AddErrorRecord
222
2
IErrorRecords::GetBasicErrorInfo
224
1
IErrorRecords::GetCustomErrorObject
225
1
IErrorRecords::GetErrorInfo
225
1
IErrorRecords::GetErrorParameters
226
1
IErrorRecords::GetRecordCount
227
1
IErrorLookup
228
4
IErrorLookup::GetErrorDescription
229
1
IErrorLookup::GetHelpInfo
230
1
IErrorLookup::ReleaseErrors
231
1
ISQLErrorInfo
232
1
ISQLErrorInfo::GetSQLInfo
232
1
Where We Go From Here
233
2
An ADO Primer
235
90
ADO Collections
235
73
The Errors Collection
236
1
The Fields Collection
237
2
The Parameters Collection
239
2
The Properties Collection
241
1
The ADO Connection Object
242
17
The ADO Command Object
259
5
The ADO Recordset Object
264
29
The ADO Field Object
293
6
The ADO Error Object
299
2
The ADO Property Object
301
3
The ADO Parameter Object
304
4
ADO Events
308
15
BeginTransComplete Event
308
1
CommitTransComplete Event
309
1
ConnectComplete Event
309
1
Disconnect Event
310
1
EndOfRecordset Event
310
1
ExecuteComplete Event
311
1
FetchComplete Event
312
1
FetchProgress Event
313
1
FieldChangeComplete Event
313
1
InfoMessage Event
314
1
MoveComplete Event
314
1
OnError Event
315
1
OnReadyStateChange Event
316
1
RecordChangeComplete Event
316
1
RecordsetChangeComplete Event
317
1
RollbackTransComplete Event
317
1
WillChangeField Event
318
1
WillChangeRecord Event
319
1
WillChangeRecordset Event
319
1
WillConnect Event
320
1
WillExecute Event
321
1
WillMove Event
322
1
Where We Go From Here
323
2
Creating and Using Simple OLE DB Providers and Consumers with ATL and MFC
325
62
OLE DB Template Changes are Required in ATL
325
1
Creating an OLE DB Provider COM DLL with ATL
326
42
What the Wizard Wrought
329
12
Gentlemen, Start Your Keyboards!
341
1
Returning a Custom Rowset
342
3
Defining a Custom User Record
345
2
Redefining the Rowset Implementation Template to Support Bookmarks
347
3
Implementing Bookmarks in the Custom Rowset Implementation
350
5
Implementing Bookmarks in the Custom IRowsetLocate Implementation
355
5
Implementing Variable COLUMNIFO in the Custom Rowset Implementation
360
4
Disabling Schema Support
364
4
Building the OLE DB Provider DLL
368
1
Creating an OLE DB Consumer Application with MFC
368
16
Building the MFC OLE DB Consumer Application
383
1
Creating the Text File Database and Testing the OLE DB Provider with the MFC Consumer Application
384
1
Where We Go From Here
385
2
Creating OLE DB Service Providers with ATL
387
32
Service Providers Have the Best of Both Worlds in OLE DB
387
1
Creating an OLE DB Service Provider COM DLL Consumer with ATL
388
12
Gentlemen, Start Your Keyboards!
393
7
Building the OLE DB Service Provider Consumer DLL
400
1
Creating an OLE DB Service Provider COM DLL Provider with ATL
400
4
Gentlemen, Start Your Keyboards!
401
2
Building the OLE DB Provider DLL
403
1
Creating an OLE DB Service Provider Consumer Application with MFC
404
14
Building the MFC OLE DB Consumer Application
417
1
Testing the OLE DB Service Provider with the MFC Consumer Application
417
1
Where We Go From Here
418
1
Creating and Using Simple OLE DB Consumers in ATL
419
52
OLE DB Consumer Templates in Action
419
1
Creating an OLE DB Consumer COM Server with ATL
420
6
Creating an ODBC-Compliant Database with Access
420
3
Creating an ODBC Connection with Control Panel
423
3
Creating an OLE DB Provider COM DLL with ATL
426
23
What the Wizard Wrought
433
3
Customizing the OLE DB Consumer
436
1
Disabling Rowset Return on Database Open
437
1
Adding OLE DB Consumer and Microsoft Agent Support
438
2
Adding the COM Server Code to Use the OLE DB Consumer
440
9
Building the OLE DB Consumer DLL
449
1
Creating a Client Application for an OLE DB Consumer with MFC
449
21
Building the MFC OLE DB Consumer Application
469
1
Testing the OLE DB Consumer with the MFC Application
469
1
Where We Go from Here
470
1
Creating and Using Complex OLE DB Consumers in MFC
471
30
OLE DB Consumer Templates in MFC
471
1
Creating an OLE DB Consumer MDI Application with MFC
471
28
Building the MFC OLE DB Consumer Application
498
1
Testing the MFC OLE DB Consumer Application
498
1
Where We Go From Here
499
2
Putting OLE DB on the Internet
501
30
Using the LPK_TOOL Application to Create HTML Run-time License LPK Files
501
3
Downloading the ActiveX SDK
504
1
Code Signing using Authenticode™---Obtaining an SPC
505
5
Code Signing using Authenticode™---Digitally Signing Code
510
3
Obtaining and Using ActiveX Control Pad from Microsoft
513
8
Automatic COM <OBJECT&rt; Tags/Visual Editing
514
1
Creation of HTML Layout Controls
515
2
Visual Editing of HTML Layout Controls
517
2
ActiveX Script Wizard for HTML and ALX
519
2
Obtaining and Using File Transfer Protocol (FTP) Software to Place COM Elements on the Internet
521
5
Using Internet Explorer to Access COM Over the Internet and World Wide Web
526
3
Mastering COM Over the Internet
529
1
Where We Go From Here
529
2
Index
531