Go to the Datasim Education BV homepage Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV
Information request

Follow datasim on Twitter

Share this page

ADO.NET Training

Course Category: 

ADO.NET Programming  - (code ADO.NET)

The goal of this four-day hands-on course is to demonstrate how to connect applications written in languages such as C#, VB.NET and Managed C++ to a number of data sources such as SQL Server, MySQL, Microsoft Access, Excel and text files.

We discuss how to use the object-oriented classes and functionality in ADO.NET to allow us to connect to databases, extract data from these databases, process the data and update the database with new data. In short, this course deals with the issues that need to be addressed when integrating application-level code with persistent data stores. The percentage theory: practice is approximately 65:35.

What do you learn?

  • A complete overview of the capabilities of ADO.NET and the ADO.NET Entity Framework.
  • Hands-on experience of connected and disconnected classes.
  • How to connect to, and apply SQL commands with SQL Server, Access and MySQL.
  • ADO.NET interoperability with Excel and text files.
  • Advanced issues: stored procedures, parameterised queries, transactions and batches.
  • Multithreading and asynchronous processing.
  • ADO.NET and LINQ (Language Integrated Query) interoperability.
  • Performance tuning and database optimisation.
  • Using C# and Managed C++ to write applications: which one is better?

Course contents

Part I Fundamentals and Theory


  • What is a database?
  • Evolution of databases
  • Data and file structure
  • Data architecture and data independence
  • Relational Data Structure
  • Relations
  • Domains and attributes
  • Keys
  • Integrity rules
  • Extensions and intensions

Structured Query Language (SQL) Overview

  • Data Manipulation Language (DML)
  • Data Definition Language (DDL)
  • Tuples: free and bound variables
  • Normalisation (third normal form)

SQL Statements and Clauses

  • SELECT statement
  • Aggregate functions
  • WHERE, ORDER BY and LIKE clauses
  • INSERT, UPDATE and DELETE statements
  • Joining tables

Data Definition Language (DDL)

  • Creating and dropping databases
  • Creating and altering tables
  • Creating views
  • Stored procedures and parameterised queries

Specific Data Sources

  • SQL Server
  • Microsoft Access and Microsoft Excel
  • MySQL
  • DB2 and Oracle CSV and text files

Data Providers

  • SQL Server
  • OLE DB
  • ODBC
  • Other providers

Part II Core Functionality

Overview of ADO.NET

  • Goals of ADO.NET
  • Connected and disconnected classes
  • Security
  • Queries

Connecting to Data

  • Connection strings
  • Building a connection string
  • Connecting to various data providers Advanced

Connection Issues

  • Changing the database for an open connection
  • Connection pooling Transactions and connection pooling
  • Monitoring connections

Other Connected Classes

  • Command
  • DataReader
  • DataAdapter
  • Examples and applications

Disconnected Data Objects

  • Dataset
  • DataTable and DataColumn
  • DataRow
  • DataView
  • DataRelation
  • Constraint

Using Disconnected Data Objects: Some Examples

  • Mapping between data source and data set
  • Working with keys
  • Building a data set programmatically
  • Converting between a data table and a data row array
  • Accessing data values in a data row array
  • Persisting disconnected data

Using ADO.NET Features

  • CommandBuilder
  • Querying and Retrieving Data
  • Searching and Analysing Data
  • Adding and Modifying Data
  • Copying and Transferring Data

Part III Advanced Methods


  • Pessimistic concurrency
  • Optimistic concurrency
  • Update strategies: Last in wins, all columns or timestamps
  • Detecting concurrency errors
  • Resolving update conflicts

Validation and Constraints

  • Column level constraints: Read only, allow null, max length and unique constraints
  • Table level constraints: Foreign keys and unique values
  • Expression based columns
  • Auto increment columns and retrieving generated number
  • Submitting hierarchical changes


  • Connections and transactions
  • Beginning transactions
  • Commit transactions
  • Rollback transactions
  • Transactions with data adapters and command builders

Strongly Typed DataSets

  • Advantages of strongly typed data sets
  • Creating strongly typed data sets
  • Creating XML schemas oUsing strongly typed data sets
  • Adding rows
  • Working with null data
  • Hierarchical data
  • Strongly typed data sets in Visual Studio

Part IV Optimisation, Design and Applications

ADO.NET and Multithreading

  • Using multiple threads
  • Asynchronous processing
  • Multiple active result sets

Optimisation Techniques

  • Moving large amounts of data
  • Paging
  • Minimising roundtrips and conversions
  • Debugging and optimising
  • Database independence

Some Scenarios

  • Executing a SQL statement asynchronously
  • Executing multiple commands on a single connection
  • Executing simultaneously SQL statements asynchronously C
  • reating a DataReader asynchronously
  • Filling a DataSet asynchronously
  • Caching data
  • Improving paging performance


  • C# versus Managed C++
  • Excel integration
  • Native C++ interoperability


  • Overview and objectives
  • Loading and saving DataSets and data tables using an XML file
  • Load and save a DataSet structure using XSD schema file
  • XML file with changes in a DataSet
  • Synchronising a DataSet and an XML Document

Language Integrated Query (LINQ)

  • Overview and rationale
  • LINQ queries and operators
  • Query syntax versus SQL syntax
  • ADO.NET and LINQ

ADO.NET Entity Framework

  • Architecture
  • Entity framework stack
  • Entity Data Model (EDM)
  • Schema definition language
  • Querying data
  • ADO.NET providers

Basic knowledge of, and familiarity with C#. Practical experience of relational database is also an advantage but not essential.

Who should attend?

This course is suitable for a wide range of software developers who write applications which interface with databases and persistent data and who wish to use ADO.NET and integrate it with these applications.

There are many application areas where it is necessary to access and store persistent data and ADO.NET enables this goal by providing the developer with an easy-to-use interface to a range of popular database systems.

Course form


Duration, price, date, locations
Course duration 4 days
Price Euro 1898.-- ex. VAT
Euro 2296.58 inc. 21% VAT
Date and location Dates available on request

It is also possible to organize this course at your company premises (the in-company option). If you have any question, please contact our Datasim office.

Share this page

Contact and Profile
Registration form
Course Dates