Microsoft® ADO.
NET
Presented by
Joseph J. Sarna Jr.
JJS Systems, LLC
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
ADO versus ADO.NET
Feature ADO ADO.NET
Primary Aim Client/server coupled Disconnected collection of
data from data server
Form of data in Uses RECORDSET object Uses DATASET object
memory (contains one table) (contains one or more
DATATABLE objects)
Disconnected Uses CONNECTION object Uses DATASETCOMMAND
access and RECORDSET object with object with OLEDB
OLEDB
Disconnected Uses COM to marshal Transfers DATASET object via
access across RECORDSET XML. No data conversions
multi-tiers required
ADO versus ADO.NET (continued)
Feature ADO ADO.NET
XML XML aware XML is the native transfer
capabilities medium for the objects
Firewalls Firewalls block system-level XML flows through the firewall
COM marshalling via HTTP
Code Coupled to the language Managed code library – Uses
used, various implementation Common Language Runtime,
therefore, language agnostic
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
ADO.NET Architecture Diagram
ADO.NET Namespaces
System.data Core namespace, defines types that
represent data
System.Data.Common Types shared between managed providers
System.Data.OleDb Types that allow connection to OLE DB
compliant data sources
System.Data.SqlClient Types that are optimized to connect to
Microsoft® SQL Server
System.Data.SqlTypes Native data types in Microsoft® SQL
Server
Importing the ADO.NET Namespaces
Needed to build a data access application
• For OLE DB:
Imports System.Data
Imports System.Data.OleDB
• For SQL Server:
Imports System.Data
Imports System.Data.SQLClient
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
Connection object
• Connects to databases.
• Two provider-specific classes
o SqlConnection
o OleDbConnection.
• Connections can be opened in two ways:
o Explicitly by calling the Open method on the connection
o Implicitly when using a DataAdapter.
• Connections handle transactions
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
Command Object
• Information submitted to a database as a query via a
Connection object
• Two provider-specific classes
o SqlCommand
o OleDbCommand
• Input and output parameters are supported, along with
return values as part of the command syntax
• Results are returned in the form of streams. Accessed
by:
o DataReader object
o DataSet object via a DataAdapter
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
DataReader Object
• Provides methods and properties that deliver a
forward-only stream of data rows from a data source
• When a DataReader is used, parts of the ADO.NET
model are cut out, providing faster and more efficient
data access
Create DataReader Example
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
DataAdapter Object
• Provides a set of methods and properties to
retrieve and save data between a DataSet and
its source data store
• Allows the use of stored procedures
• Connects to the database to fill the DataSet
and also update the database
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
DataSet Object
• Replaces the ADO Recordset
• Represents a cache of data that contains tables,
columns, relationships, and constraints, just like a
database
• Regardless of where the source data comes from, data
can all be placed into DataSet objects
• Tracks changes that are made to the data it holds
before updating the source data
• DataSet are also fully XML-featured
• Works with all current models of data storage: flat,
relational, and hierarchical
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
DataView Object
• Provides methods and properties that enable UI
objects such as a DataGrid to bind to a DataSet
• A view of the data contained in the DataSet
• Only used in conjunction with a DataSet
Agenda
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application
Create Data Access Windows Form
Create Multiple Table DataSet Example
Summary
• ADO versus ADO.NET
• ADO.NET Architecture
• Connection Object
• Command Object
• DataReader Object
• DataAdapter Object
• DataSet Object
• DataView Object
• Use ADO.NET to access data in an application