Dear Frnds,
I want to knw about Datareader and how its different from Dataset.
how we can use it in our coding
an example will be helpful in understanding.
Thanks & Regars,
Aamir
Loading
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Mukesh KumarPosted Jan 12, 2012, 3:12 AM
Here are some differences between DataReader & DataSet
DataSet object
DataReader object
Read/Write access
Read-only access
Supports multiple tables from different databases
Supports a single table based on a single SQL query of one database
Disconnected mode
Connected mode
Bind to multiple controls
Bind to a single control
Forward and backward scanning of data
Forward-only scanning of data
Slower access to data
Faster access to data
Greater overhead to enable additional features
Lightweight object with very little overhead
Supported by Visual Studio .NET tools
Must be manually coded
For more detail :http://msdn.microsoft.com/en-us/magazine/cc188717.aspx
Satyapriya NayakPosted Jan 12, 2012, 3:10 AM
DataReader provides forward-only and read-only access to data , while the DataSet object can hold more than one table (in other words more than one rowset) from the same data source as well as the relationships between them.
Dataset is a disconnected architecture while datareader is connected architecture.
Dataset can persists contents while datareader can not persist contents , they are forward only.
Dataset Datareader example to display record in gridview.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
OleDbConnection con;
OleDbCommand com;
OleDbDataAdapter oda;
DataSet ds;
DataTable dataTable;
protected void Button1_Click(object sender, EventArgs e)
{
con = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = D:\\mydb.mdb");
com = new OleDbCommand("Select * from emp", con);
con.Open();
oda = new OleDbDataAdapter(com);
ds = new DataSet();
oda.Fill(ds, "emp");
con.Close();
GridView1.DataMember = "emp";
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
con = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = D:\\mydb.mdb");
dataTable = new DataTable();
com = new OleDbCommand();
com.Connection = con;
con.Open();
com.CommandText = "Select * from emp";
oda = new OleDbDataAdapter(com);
oda.Fill(dataTable);
con.Close();
GridView1.DataSource = dataTable;
GridView1.DataMember = "emp";
GridView1.DataBind();
}
protected void Button3_Click(object sender, EventArgs e)
{
con = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = D:\\mydb.mdb");
com = new OleDbCommand("Select * from emp", con);
con.Open();
OleDbDataReader reader;
reader = com.ExecuteReader();
GridView1.DataMember = "emp";
GridView1.DataSource = reader;
GridView1.DataBind();
reader.Close();
con.Close();
}
}
Thanks
If this post helps you mark it as answer