3 WorkingWithData
3 WorkingWithData
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology
Active Data Object - ADO.NET
• ADO.NET allows us to interact with relational
databases and other data source.
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 2
ADO.NET Object Model
• Data Namespaces
▫ System.Data
Contains fundamental classes with core ADO.NET
functionality
DataSet, DataRelation
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 3
ADO.NET Object Model
• Data Namespaces
▫ System.Data.OleDb
Contains classes to connect to OLE DB provider
Classes: OleDbCommand, OleDbConnection
▫ System.Data.SqlClient
Contains classes to connect to Microsoft SQL Server
database
Classes: SqlDbCommand, SqlDbConnection
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 4
ADO.NET Object Model
• Data Namespaces
▫ System.Data.SqlTypes
Contains structures for SQL Server-specific data types
Structures: SqlMoney, SqlDateTime
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 5
ADO.NET Object Model
• ADO.NET Objects:
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 6
ADO.NET Object Model
• The Data Objects
• Allows to store a local, disconnected copy of data
▫ DataSet Object
▫ DataTable Object
▫ DataRow Object
▫ DataColumn Object
▫ DataRelation Object
▫ DataView Object
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 7
Data source interaction objects
• SqlConnection & OleDbConnection
▫ Establish a connection
▫ First step in any database operation
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 8
Data source interaction objects
• SqlCommand & OleDbCommand
▫ Represent an SQL statement or stored procedure to retrieve,
update or modify data
▫ To use command, use DataAdapter or one of the methods
below:
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 10
Data source interaction objects
• SqlDataAdapter & OleDbAdapter
▫ Bridge between a Command and a DataSet
SQL
Command DataAdapter DataSet
Statement
▫ Reference to 4 commands
DeleteCommand
InsertCommand
SelectCommand
UpdateCommand
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 11
Data source interaction objects
• SqlDataAdapter & OleDbAdapter
▫ Methods:
Fill: executes SelectCommand and places the results
into the DataSet we supply
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 12
ADO.NET Data Access
• Simple Data Access
1. Create Connection, Command and DataReader
objects
2. Use DataReader to retrieve information from
database
3. Display results in a control on a web form
4. Close Connection
5. Send page to the user
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 13
ADO.NET Data Access
• Simple Data Updates
1. Create Connection and Command objects
2. Execute the command with appropriate SQL
statement
3. Use ExecuteNonQuery method to execute the SQL
statement
• Importing NameSpaces
▫ using System.Data
▫ using System.Data.OleDb / System.Data.SqlClient
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 14
Creating a Connection
• Specify value of a ConnectionString property
• Syntax:
SqlConnection MyConn = new SqlConnection();
MyConn.ConnectionString = “Provider = SQLOLEDB; Data Source =
localhost; Initial Catalog = TestDatabase; User ID=sa";
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 21
ConnectionString
• Provider
▫ Name of OLEDB provider
▫ SQLOLEDB for SQL
• Data Source
▫ Name of the server where the data source is located
▫ ‘localhost’ if server is on same machine
• Initial catalog
▫ Name of the database that this connection will be
accessing
• User ID & Password
▫ ID and password to access the database
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 22
Connection String
Creating a Connection
SqlConnection MyConn = new SqlConnection();
MyConn.ConnectionString = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=D:\MyWebApp1\App_Data\T
estDatabase.mdf;Integrated Security=True;User Instance=True";
• Making a Connection:
MyConnection.Open();
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 25
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection MyConn = new SqlConnection();
MyConn.ConnectionString = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=D:\MyWebApp1\App_Da
ta\Test Database.mdf;Integrated Security=True;User Instance=True";
MyConn.Open();
MyConn.Close();
}
Part 1: Establish a Connection:
i. Create a Connection object
ii. Write a Connection String
iii. Open the connection
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 33
DataReader
• Quickly retrieve all your results
• Use ExecuteReader method to create a DataReader
SqlDataReader MyReader;
MyReader = cmd.ExecuteReader();
MyReader.Close();
MyConnection.Close();
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 36
Updating Data
• Insert, Update & Delete commands
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 37
Updating a Record
• Create a command object
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 38
Reading a Record
• Before updating any record, retrieve it from the
data source using DataReader
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 40
using System.Data.SqlClient;
// Define a DataReader
SqlDataReader MyReader;
MyReader = cmd.ExecuteReader();
// retrieve a row
while (MyReader.Read())
{
DropDownList1.Items.Add(MyReader["ID"].ToString());
}
MyReader.Close();
MyConn.Close();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{ // Make AutoPostBack property of DropDownList to True
MyConn.Open();
String SelectSQL;
SelectSQL = "Select * from Test1 where ID = '" +
DropDownList1.SelectedItem.Value + "'";
// Define a DataReader
SqlDataReader MyReader;
MyReader = cmd.ExecuteReader();
// continue
// retrieve a row
while (MyReader.Read())
{
TextBox1.Text = MyReader["ID"].ToString();
TextBox2.Text = MyReader["PWD"].ToString();
}
MyReader.Close();
}
protected void UpdateButton_Click(object sender, EventArgs e)
{
String UpdateSQL;
MyConn.Open();
int updated;
updated = cmd.ExecuteNonQuery();
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 51
protected void DeleteButton_Click(object sender, EventArgs e)
{
String DeleteSQL;
int deleted;
deleted = cmd.ExecuteNonQuery();
}
Adding a Record
• Create a command object
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology 55
protected void CreateNewButton_Click(object sender, EventArgs e)
{
TextBox1.Text = "";
TextBox2.Text = "";
}
protected void InsertNewButton_Click(object sender, EventArgs e)
{
String InsertSQL;
InsertSQL = “INSERT into Test1 (ID, PWD) values ('"+TextBox1.Text+"',
'"+TextBox2.Text+"')";
MyConn.Open();
int added;
added = cmd.ExecuteNonQuery();
Prof. Bhumika Patel Sarvajanik College of Eng. & Tech., Surat Dotnet Technology