Вы находитесь на странице: 1из 14

Agenda

 Introduce you to ADO.NET


 Describe the connected layer of
ADO.NET as implemented by .NET
data providers
 Describe the disconnected layer of
ADO.NET as implemented by the
DataSet
 Demonstrate integration of ADO.NET
within Visual Studio
Why ADO.NET?
 ADO works great, but
 Requires COM and Windows®
 Recordsets don’t travel well across the
Internet
 Connected behavior is hard to work with
 ADO.NET solves these problems
 Uses XML under the covers for all data
transport
 XML has no runtime/transport requirements
 No special code required to marshal
across the Internet
 ADO.NET requires new mindset
 All data access disconnected
 All data transport uses XML
What Is ADO .NET?
 ADO.NET is a collection of classes,
interfaces, structures, and enumerated
types that manage data access from
relational data stores within the .NET
Framework
 These collections are organized into
namespaces:
 System.Data, System.Data.OleDb,
System.Data.SqlClient, etc.
 ADO.NET is an evolution from ADO.
 Does not share the same object model, but
shares many of the same paradigms and
functionality!
Connected Or Disconnected?
 System.Datanamespace contains
disconnected set of objects
 DataSet, DataTable, DataRow, and so on
 Specific
namespaces
(System.Data.OleDb and
System.Data.SqlClient) contain
connected objects
 SqlDataAdapter/OleDbDataAdapter
 SqlConnection/OleDbConnection
 SqlDataReader/OleDbDataReader
Connected Or Disconnected?
 With ADO, a fundamental question is:
Where is the data managed?
On the client?
On the server?
A mixture of the two?
 The answer in ADO
…it depends on the cursor you are using.
 With ADO.NET:
Data is always on the client (via DataSet)
ADO.NET Architecture
Presentation Tier
Windows Forms
MyApp.Exe

DataSet

Business Tier Data Tier


Internet
Web Forms Intranet Data Object (Class)
IE
Data Adapter
DataSet
XML
DataSet
Data Adapter

Business to Business

(BizTalk, for example)


ADO.NET
.NET Data Provider

ODBC Driver
ODBC
ODBC
Connection
RDBMS

OLE DB Provider
Application

Command

OLE DB
OLE DB
RDBMS

Data Reader

SQL Server
Data Adapter
ADO.NET Objects
 Connection
 Connects to data source
 Command
 Executes SELECT, INSERT, UPDATE
and DELETE commands
 Data Reader
 Forward-only, read-only stream of
data
 Data Adapter
 Connects a DataSet to a data source
Working With Data
 If you need full data access, use
DataAdapter object (SQLDataAdapter,
OleDbDataAdapter)
 DataAdapter represents a set of data
commands and a database
connection
 Fills a DataSet (using Fill method)
 Updates data (using Update method)
Working With Data
 Use Fill method to fill the DataSet
 DataSet provides local cache for
disconnected data
 All data marshaled as XML
 Make changes in cached data
 Use Update method to write
changes from cached data back to
data source
Getting Data Into A DataSet
 DataAdapter has four Command properties
 SelectCommand/DeleteCommand
 InsertCommand/UpdateCommand
 Each property contains a Command object
 DataAdapter uses these Command objects
for selecting, updating, and so on
 Call the Update method to change data
 Call the Fill method to execute the
SelectCommand
 Fills a DataSet
DataSet Object
 Relational views of data DataSet
Tables
 Contains tables, columns, Table
rows, constraints, Columns

views, and relations Column


Constraints
 Disconnected model Constraint

 Has no knowledge Rows

of data source Row


Relations
 Array-like indexing Relation
 Strong typing
 Supports data binding
Summary
 ADO.NET provides a rich API for
working with data
 ADO.NET has been designed to
support legacy architectures as well
as Internet-enabled, n-tier designs
 The .NET Framework’s extensive
XML support means greater reach
for all of your data-enabled
applications