Slide1 :
Introduction to ADO.NETJenny ChangStudent Ambassador to MicrosoftCSU – Los Angeles : Introduction to ADO.NET Jenny Chang Student Ambassador to Microsoft CSU – Los Angeles
Agenda : 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? : 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? : 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? : Connected Or Disconnected? System.Data namespace 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
Slide7 : 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) or on its way to the client (via IDataReader)
ADO.NET Architecture : ADO.NET Architecture Business Tier Data Tier Presentation Tier Windows Forms Web Forms Business to Business Data Object (Class) DataSet DataSet DataSet Internet Intranet Data Adapter Data Adapter (BizTalk, for example) XML MyApp.Exe IE
Slide9 : ADO.NET Application ODBC Driver ODBC
RDBMS ODBC OLE DB
RDBMS .NET Data Provider
Connection Command Data Reader Data Adapter OLE DB OLE DB Provider SQL Server
ADO.NET Objects : 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 : 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 : 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 : 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
Slide14 : DataSet Object Relational views of data
Contains tables, columns, rows, constraints, views, and relations
Disconnected model
Has no knowledge of data source
Array-like indexing
Strong typing
Supports data binding DataSet Tables Table Columns Column Constraints Constraint Rows Row Relations Relation
DEMO: Setting Up Connectionsin Visual Studio.NET : DEMO: Setting Up Connections in Visual Studio.NET
Summary : 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