SlideShare ist ein Scribd-Unternehmen logo
1 von 20
ADO.NET
.NET Data Access and Manipulation
Presented By: Wani Zahoor
Overview
 What is ADO.NET?
 Disconnected vs. connected data access models
 ADO.NET Architecture
 ADO.NET Core Objects
 Steps of Data Access
 Advanced Techniques and UI Tools
What is ADO.NET?
 A data-access technology that enables applications to connect to data stores
and manipulate data contained in them in various ways
 Former version was ADO (ActiveX Data Object)
What is ADO.NET?
 An object oriented framework that allows you to interact with database
systems
Objective of ADO.NET
 Support disconnected data architecture,
 Tight integration with XML,
 Common data representation
 Ability to combine data from multiple and varied data sources
 Optimized facilities for interacting with a database
ADO.NET Architecture
ADO.NET Core Objects
 Core namespace: System.Data
 .NET Framework data providers:
Data Provider Namespace
SQL Server System.Data.SqlClient
OLE DB System.Data.OleDb
ODBC System.Data.Odbc
Oracle System.Data.OracleClient
ADO.NET Core Objects
Object Description
Connection Establishes a connection to a specific data source. (Base
class: DbConnection)
Command Executes a command against a data source. Exposes
Parameters and can execute within the scope of a
Transaction from a Connection. (The base class:
DbCommand)
DataReader Reads a forward-only, read-only stream of data from a
data source. (Base class: DbDataReader)
DataAdapter Populates a DataSet and resolves updates with the data
source. (Base class: DbDataAdapter)
DataTable Has a collection of DataRows and DataColumns
representing table data, used in disconnected model
DataSet Represents a cache of data. Consists of a set of DataTables
and relations among them
Connected Data Access Model
Disconnected Data Access
Model
Pros and Cons
Connected Disconnecte
d
Database
Resources
- +
Network Traffic - +
Memory Usage + -
Data Access - +
Steps of Data Access:
Disconnected Environment
 Defining the connection string
 Defining the connection
 Defining the command
 Defining the data adapter
 Creating a new DataSet object
 SELECT -> fill the dataset object with the result of
the query through the data adapter
 Reading the records from the DataTables in the
datasets using the DataRow and DataColumn
objects
 UPDATE, INSERT or DELETE -> update the
database through the data adapter
using System;
using System.Data;
using System.Data.SqlClient;
namespace SampleClass
{
class Program
{
static void Main(string[] args)
{
string connStr =
Properties.Settings.Default.connStr;
SqlConnection conn = new SqlConnection(connStr);
string queryString = "SELECT * from titles;";
SqlDataAdapter da = new
SqlDataAdapter(queryString,conn);
DataSet ds = new DataSet();
da.fill(ds);
// Work on the data in memory using
// the DataSet (ds) object
}
}
}
EXAMPLE
Disconnected –
Update, Delete, Insert
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
SqlCommandBuilder cmdBuilder = new
SqlCommandBuilder(da);
da.Fill(ds);
DataRow dr = ds.Tables[0].Rows[0];
dr.Delete();
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
DataRow dr = ds.Tables[0].Rows[0];
dr["CustomerName"] = "John";
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
DELETE
UPDATE
INITIAL CODE
DataRow dr = ds.Tables[0].NewRow();
dr["CustomerName"] = "John";
dr["CustomerSurName"] = "Smith";
ds.Tables[0].Rows.Add(dr);
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
INSERT
Steps of Data Acces :
Connected Environment
 Create connection
 Create command (select-insert-update-
delete)
 Open connection
 If SELECT -> use a DataReader to fetch
data
 If UPDATE,DELETE, INSERT -> use
command object’s methods
 Close connection
static void Main()
{
string connectionString =
Properties.Settings.Default.connStr;
string queryString = "SELECT CategoryID, CategoryName FROM
dbo.Categories;";
SqlConnection connection = new
SqlConnection(connectionString);
SqlCommand command = new SqlCommand(queryString,connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("t{0}t{1}“,reader[0],reader[1]);
}
reader.Close();
connection.close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
EXAMPLE
Connected – Update, Delete, Insert
 Command class core methods:
ExecuteNonQuery : Executes a SQL
statement against a connection object
ExecuteReader: Executes the
CommandText against the Connection
and returns a DbDataReader
ExecuteScalar: Executes the query
and returns the first column of the first
row in the result set returned by the
query
Connected – Update, Delete, Insert
string connString =
Properties.Settings.Default.connStr;
SqlConnection conn = new
SqlConnection(connString);
SqlCommand cmd = new SqlCommand("delete from
Customers" + "where custID=12344", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
Can be an update or insert command
Choosing a DataReader or a
Dataset
 The type of functionality application requires
should be considered
 Use a dataset to:
 Cache data locally in your application so that you can manipulate it
 Remote data between tiers or from an XML Web service
 Interact with data dynamically such as binding to a Windows Forms control or
combining and relating data from multiple sources
 Perform extensive processing on data without requiring an open connection to the
data source, which frees the connection to be used by other clients
 If readonly data is needed use DataReader to
boost performance
After .NET Framework 2.0
An example of databinding model

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Jdbc ppt
Jdbc pptJdbc ppt
Jdbc ppt
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 
Awt controls ppt
Awt controls pptAwt controls ppt
Awt controls ppt
 
interface in c#
interface in c#interface in c#
interface in c#
 
Master pages
Master pagesMaster pages
Master pages
 
Ado.net
Ado.netAdo.net
Ado.net
 
Delegates and events in C#
Delegates and events in C#Delegates and events in C#
Delegates and events in C#
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
MySQL JOINS
MySQL JOINSMySQL JOINS
MySQL JOINS
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Database connectivity to sql server asp.net
Database connectivity to sql server asp.netDatabase connectivity to sql server asp.net
Database connectivity to sql server asp.net
 
Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server Database
 
For Beginers - ADO.Net
For Beginers - ADO.NetFor Beginers - ADO.Net
For Beginers - ADO.Net
 
Collections in-csharp
Collections in-csharpCollections in-csharp
Collections in-csharp
 
Database Connectivity in PHP
Database Connectivity in PHPDatabase Connectivity in PHP
Database Connectivity in PHP
 
Servlets
ServletsServlets
Servlets
 
Php with MYSQL Database
Php with MYSQL DatabasePhp with MYSQL Database
Php with MYSQL Database
 
JDBC ppt
JDBC pptJDBC ppt
JDBC ppt
 
Namespaces in C#
Namespaces in C#Namespaces in C#
Namespaces in C#
 

Andere mochten auch

05 entity framework
05 entity framework05 entity framework
05 entity framework
glubox
 
ADO.NET -database connection
ADO.NET -database connectionADO.NET -database connection
ADO.NET -database connection
Anekwong Yoddumnern
 

Andere mochten auch (13)

Getting started with entity framework 6 code first using mvc 5
Getting started with entity framework 6 code first using mvc 5Getting started with entity framework 6 code first using mvc 5
Getting started with entity framework 6 code first using mvc 5
 
Entity framework and how to use it
Entity framework and how to use itEntity framework and how to use it
Entity framework and how to use it
 
Ado .net
Ado .netAdo .net
Ado .net
 
Dotnet differences compiled -1
Dotnet differences compiled -1Dotnet differences compiled -1
Dotnet differences compiled -1
 
05 entity framework
05 entity framework05 entity framework
05 entity framework
 
Entity Framework and Domain Driven Design
Entity Framework and Domain Driven DesignEntity Framework and Domain Driven Design
Entity Framework and Domain Driven Design
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Chapter 3: ado.net
Chapter 3: ado.netChapter 3: ado.net
Chapter 3: ado.net
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0
 
Ado.net
Ado.netAdo.net
Ado.net
 
ASP.NET 09 - ADO.NET
ASP.NET 09 - ADO.NETASP.NET 09 - ADO.NET
ASP.NET 09 - ADO.NET
 
ADO.NET -database connection
ADO.NET -database connectionADO.NET -database connection
ADO.NET -database connection
 
Ef code first
Ef code firstEf code first
Ef code first
 

Ähnlich wie ADO.NET

Data management with ado
Data management with adoData management with ado
Data management with ado
Dinesh kumar
 
Introduction to ado
Introduction to adoIntroduction to ado
Introduction to ado
Harman Bajwa
 
Ch06 ado.net fundamentals
Ch06 ado.net fundamentalsCh06 ado.net fundamentals
Ch06 ado.net fundamentals
Madhuri Kavade
 
ASP.NET Session 11 12
ASP.NET Session 11 12ASP.NET Session 11 12
ASP.NET Session 11 12
Sisir Ghosh
 
LECTURE 14 Data Access.pptx
LECTURE 14 Data Access.pptxLECTURE 14 Data Access.pptx
LECTURE 14 Data Access.pptx
AOmaAli
 
ADO .NET by Sonu Vishwakarma
ADO .NET by Sonu VishwakarmaADO .NET by Sonu Vishwakarma
ADO .NET by Sonu Vishwakarma
Sonu Vishwakarma
 

Ähnlich wie ADO.NET (20)

ADO.net control
ADO.net controlADO.net control
ADO.net control
 
Ado.Net Architecture
Ado.Net ArchitectureAdo.Net Architecture
Ado.Net Architecture
 
Data management with ado
Data management with adoData management with ado
Data management with ado
 
3-ADO.NET.pdf
3-ADO.NET.pdf3-ADO.NET.pdf
3-ADO.NET.pdf
 
Introduction to ado
Introduction to adoIntroduction to ado
Introduction to ado
 
5.C#
5.C#5.C#
5.C#
 
Unit4
Unit4Unit4
Unit4
 
2310 b 09
2310 b 092310 b 09
2310 b 09
 
ADO.NET by ASP.NET Development Company in india
ADO.NET by ASP.NET  Development Company in indiaADO.NET by ASP.NET  Development Company in india
ADO.NET by ASP.NET Development Company in india
 
ADO.NETObjects
ADO.NETObjectsADO.NETObjects
ADO.NETObjects
 
Ch06 ado.net fundamentals
Ch06 ado.net fundamentalsCh06 ado.net fundamentals
Ch06 ado.net fundamentals
 
ASP.NET Session 11 12
ASP.NET Session 11 12ASP.NET Session 11 12
ASP.NET Session 11 12
 
2310 b 10
2310 b 102310 b 10
2310 b 10
 
Marmagna desai
Marmagna desaiMarmagna desai
Marmagna desai
 
Lecture 6. ADO.NET Overview.
Lecture 6. ADO.NET Overview.Lecture 6. ADO.NET Overview.
Lecture 6. ADO.NET Overview.
 
Csharp_dotnet_ADO_Net_database_query.pptx
Csharp_dotnet_ADO_Net_database_query.pptxCsharp_dotnet_ADO_Net_database_query.pptx
Csharp_dotnet_ADO_Net_database_query.pptx
 
Ch 7 data binding
Ch 7 data bindingCh 7 data binding
Ch 7 data binding
 
LECTURE 14 Data Access.pptx
LECTURE 14 Data Access.pptxLECTURE 14 Data Access.pptx
LECTURE 14 Data Access.pptx
 
Ado.net
Ado.netAdo.net
Ado.net
 
ADO .NET by Sonu Vishwakarma
ADO .NET by Sonu VishwakarmaADO .NET by Sonu Vishwakarma
ADO .NET by Sonu Vishwakarma
 

Mehr von Wani Zahoor (6)

VPN Network
VPN NetworkVPN Network
VPN Network
 
Java threads
Java threadsJava threads
Java threads
 
DotNet Framework
DotNet FrameworkDotNet Framework
DotNet Framework
 
Deadlocks by wani zahoor
Deadlocks by wani zahoorDeadlocks by wani zahoor
Deadlocks by wani zahoor
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Antennas in Wireless Communication
Antennas in Wireless CommunicationAntennas in Wireless Communication
Antennas in Wireless Communication
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

ADO.NET

  • 1. ADO.NET .NET Data Access and Manipulation Presented By: Wani Zahoor
  • 2. Overview  What is ADO.NET?  Disconnected vs. connected data access models  ADO.NET Architecture  ADO.NET Core Objects  Steps of Data Access  Advanced Techniques and UI Tools
  • 3. What is ADO.NET?  A data-access technology that enables applications to connect to data stores and manipulate data contained in them in various ways  Former version was ADO (ActiveX Data Object)
  • 4. What is ADO.NET?  An object oriented framework that allows you to interact with database systems
  • 5. Objective of ADO.NET  Support disconnected data architecture,  Tight integration with XML,  Common data representation  Ability to combine data from multiple and varied data sources  Optimized facilities for interacting with a database
  • 7. ADO.NET Core Objects  Core namespace: System.Data  .NET Framework data providers: Data Provider Namespace SQL Server System.Data.SqlClient OLE DB System.Data.OleDb ODBC System.Data.Odbc Oracle System.Data.OracleClient
  • 8. ADO.NET Core Objects Object Description Connection Establishes a connection to a specific data source. (Base class: DbConnection) Command Executes a command against a data source. Exposes Parameters and can execute within the scope of a Transaction from a Connection. (The base class: DbCommand) DataReader Reads a forward-only, read-only stream of data from a data source. (Base class: DbDataReader) DataAdapter Populates a DataSet and resolves updates with the data source. (Base class: DbDataAdapter) DataTable Has a collection of DataRows and DataColumns representing table data, used in disconnected model DataSet Represents a cache of data. Consists of a set of DataTables and relations among them
  • 11. Pros and Cons Connected Disconnecte d Database Resources - + Network Traffic - + Memory Usage + - Data Access - +
  • 12. Steps of Data Access: Disconnected Environment  Defining the connection string  Defining the connection  Defining the command  Defining the data adapter  Creating a new DataSet object  SELECT -> fill the dataset object with the result of the query through the data adapter  Reading the records from the DataTables in the datasets using the DataRow and DataColumn objects  UPDATE, INSERT or DELETE -> update the database through the data adapter
  • 13. using System; using System.Data; using System.Data.SqlClient; namespace SampleClass { class Program { static void Main(string[] args) { string connStr = Properties.Settings.Default.connStr; SqlConnection conn = new SqlConnection(connStr); string queryString = "SELECT * from titles;"; SqlDataAdapter da = new SqlDataAdapter(queryString,conn); DataSet ds = new DataSet(); da.fill(ds); // Work on the data in memory using // the DataSet (ds) object } } } EXAMPLE
  • 14. Disconnected – Update, Delete, Insert SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da); da.Fill(ds); DataRow dr = ds.Tables[0].Rows[0]; dr.Delete(); da.UpdateCommand = builder.GetUpdateCommand(); da.Update(ds); DataRow dr = ds.Tables[0].Rows[0]; dr["CustomerName"] = "John"; da.UpdateCommand = builder.GetUpdateCommand(); da.Update(ds); DELETE UPDATE INITIAL CODE DataRow dr = ds.Tables[0].NewRow(); dr["CustomerName"] = "John"; dr["CustomerSurName"] = "Smith"; ds.Tables[0].Rows.Add(dr); da.UpdateCommand = builder.GetUpdateCommand(); da.Update(ds); INSERT
  • 15. Steps of Data Acces : Connected Environment  Create connection  Create command (select-insert-update- delete)  Open connection  If SELECT -> use a DataReader to fetch data  If UPDATE,DELETE, INSERT -> use command object’s methods  Close connection
  • 16. static void Main() { string connectionString = Properties.Settings.Default.connStr; string queryString = "SELECT CategoryID, CategoryName FROM dbo.Categories;"; SqlConnection connection = new SqlConnection(connectionString); SqlCommand command = new SqlCommand(queryString,connection); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine("t{0}t{1}“,reader[0],reader[1]); } reader.Close(); connection.close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } EXAMPLE
  • 17. Connected – Update, Delete, Insert  Command class core methods: ExecuteNonQuery : Executes a SQL statement against a connection object ExecuteReader: Executes the CommandText against the Connection and returns a DbDataReader ExecuteScalar: Executes the query and returns the first column of the first row in the result set returned by the query
  • 18. Connected – Update, Delete, Insert string connString = Properties.Settings.Default.connStr; SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand("delete from Customers" + "where custID=12344", conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); Can be an update or insert command
  • 19. Choosing a DataReader or a Dataset  The type of functionality application requires should be considered  Use a dataset to:  Cache data locally in your application so that you can manipulate it  Remote data between tiers or from an XML Web service  Interact with data dynamically such as binding to a Windows Forms control or combining and relating data from multiple sources  Perform extensive processing on data without requiring an open connection to the data source, which frees the connection to be used by other clients  If readonly data is needed use DataReader to boost performance
  • 20. After .NET Framework 2.0 An example of databinding model