DCS - Delphi Client/Server and Multi-Tier Development
This Delphi training class is a continuation of the Delphi Database Architecture course that is focused specifically on issues related to Client/Server and Multi-Tier development, including
SQL, Parameterized Queries, Stored Procedures, Client Datasets, Transaction Processing, Security, Configuration, Distribution, Upscaling, Cached Updates, etc. There is also coverage of Delphi's Client/Server tools, including the SQL Builder and the SQL Monitoring Utility.
"Great, informative, well presented. A must if programming with database files.." -- Mick C. from San Diego, CA
"(This course was) full of information useful to my business environment. Take this course before you try to learn Delphi on your own.." -- Bill S. from La Jolla, CA
"Excelent speaker (Ted Blue). Knowledge of course material very good as well as related material. Take the class.." -- Casey G. from San Diego, CA
"Again, very impressed. Appreciated most [the instructor's] knowledge on the subjects and his teaching style. Very instructional. If you have programming experience, however, never against a database-this is the class to take. :)." -- Elizabeth M. W. from San Diego, CA
"For anybody planning to do Delphi Client/Server, this class is definitely worth spending a couple of days learning the architecture up front.Excellent presentation. Ted (Blue) did an excellent job of first assessing the needs of the class then putting the emphasis on areas of concern/interest and not wasting time with concepts we already were comfortable with.." -- John G. from Chula Vista, CA
Chapter 1 - The Client/Server Environment
The Request/Response Model
Multi-Tier Applications
Client/Server Database Systems
The Role of SQL
Chapter 2 - Delphi's Client/Server Tools
SQL Links
Other Data Access Components
dbGo for ADO
dbExpress
InterBase Express
The Local InterBase Server
The InterBase Server
The SQL Monitor
The SQL Explorer
The Databases Pane
The Data Dictionary Pane
The Data Migration Expert
The SQL Builder
Chapter 3 - DataSets
The TDataset Class Hierarchy
TDataset
Cached Updates
TNestedTable
TBDEDataset
BDE Enabled Datasets
OnServerYield
TDBDataset
TField Components
CurValue, NewValue and OldValue
Field Defaults
Constraints
ImportedConstraint
CustomConstraint
The Query Component
Working with Queries
Result Sets
Live Result Sets
Updating Live Result Sets
Updating Read-Only Result Sets
Parameterized Queries
Working with Parameterized Queries
Automatic Creation of Params
Assigning Values to Parameters
The ParamValues Property
The TQuery.DataSource Property
Working with Linked Cursors
Master-Detail Queries
Preparing Queries
The Prepare Method
The Unprepare Method
Filtered Queries
The Filter Property
Using the Filter Property
The SQL Builder
Limits of the SQL Builder
Stored Procedures
The TStoredProc Component
Parameters
Viewing Parameter Information
Setting Parameter Information
ParamBindMode
Executing Stored Procedures
Viewing Stored Procedures
Procedure Types
Creating Stored Procedures
Creating Input Parameters
Creating Output Parameters
Using InterBase Procedure and Trigger Language
Accessing Stored Procedures from Queries
Exceptions in Stored Procedures
Syntax Errors
Triggers
Chapter 4 - Client DataSets
The Single-Tier Model
Assigning Data to a ClientDataSet
Creating a TClientDataSet Application
Storing Changes Locally
The FileName Parameter
Persisting Data
Managing the Change Log
Reverting Records
The UpdateStatus Method
The StatusFilter Property
Working with the Change Log
Indexes
Creating Indexes with IndexFieldNames
Creating Indexes with IndexDefs
Descending Indexes
Case-Insensitive Indexes
Creating Indexes with AddIndexDef
Working with Indexes
Aggregate Fields
Aggregate Field Objects
Grouping Levels
Working with Aggregate Fields
Applying Updates
TDataSetProvider
Using the ApplyUpdates Method
Implementing Applied Updates
Summary
Chapter 5 - Multi-Tier Database Applications
The Multi-Tier Model
Single-Tier Applications
Two-Tier (Client/Server) Applications
Three-Tier Applications
DataSnap
dbExpress
dbExpress Drivers
dbExpress Components
dbExpress Characteristics
Using dbExpress Components
The TSQLClientDataSet Component
Creating a Three-Tier Application
Creating an Application Server
Creating a Client Application
Connection Components
Data Connection Components
Additional Connection Components
Working Offline
Setting Up an Offline Mode
Creating a Briefcase Application
Parameterized (Dynamic) Queries
Forcing Parameter Updates
Passing Query Parameters
Master-Detail Relationships
Nested Datasets
Applying Changes to Master-Detail Records
Implementing Master-Detail in a Multi-Tier Application
Error Handling
OnReconcileError Event Parameters
The UpdateKind Parameter
The Action Parameter
Field Values
The Reconcile Error Dialog
Handling Reconcile Errors
Performance Issues
Managing Record Packets
Remote Data Module Instancing
Internal
Single Instance
Multiple Instance
Remote Data Module Pooling
Summary
Appendix A - Optimization
Appendix B - Application Deployment
Appendix C - Employee Data Models
Appendix D - InterBase Tools and Utilities
Appendix E - BDE Sessions
Appendix F - The TDatabase Component
Appendix G - BDE Cached Updates
Appendix H - Transaction Processing