Introduction to ADO.
NET
Jenny Chang Student Ambassador to Microsoft CSU Los Angeles
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 dont travel well across the Internet Connected behavior is hard to work with
Uses XML under the covers for all data transport XML has no runtime/transport requirements No special code required to marshal across the Internet All data access disconnected All data transport uses XML
ADO.NET solves these problems
ADO.NET requires new mindset
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. Does not share the same object model, but shares many of the same paradigms and functionality!
ADO.NET is an evolution from ADO.
Connected Or Disconnected?
System.Data
DataSet,
namespace contains disconnected set of objects
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) or on its way to the client (via IDataReader)
ADO.NET Architecture
Presentation Tier
Windows Forms
MyApp.Exe
DataSet
Business Tier
Web Forms
IE
Data Tier
Internet Intranet
XML
Data Object (Class) DataSet
Data Adapter Data Adapter
DataSet
Business to Business
(BizTalk, for example)
ADO.NET
ODBC Driver .NET Data Provider ODBC
Connection
ODBC RDBMS
Command
OLE DB
OLE DB Provider
Application
OLE DB RDBMS
Data Reader
Data Adapter
SQL Server
ADO.NET Objects
Connection
Connects to data source Executes SELECT, INSERT, UPDATE and DELETE commands Forward-only, read-only stream of data
Command
Data Reader
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 Table Columns Column Constraints
Constraint
Contains tables, columns, rows, constraints, views, and relations
Disconnected model
Has no knowledge of data source Array-like indexing Strong typing Supports data binding
Rows Row Relations Relation
DEMO: Setting Up Connections in Visual Studio.NET
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 Frameworks extensive XML support means greater reach for all of your data-enabled applications
References
Using ADO.NET (VB.NET)
http://msdn.microsoft.com/library/enus/Dndotnet/html/Usingadonet.asp?frame=true ADO.NET Quick Tutorials (C#, VB.NET, JScript) http://samples.gotdotnet.com/quickstart/howto /default.aspx?url=/quickstart/howto/doc/adoplu s/adoplusoverview.aspx Download Tech Talks Slides & Handouts http://jenny.sybay.com/dotnet
Questions? Dont Forget to Fill Out the Evaluation Form & Win Some Prizes!
2001 Microsoft Corporation. All rights reserved.