In my previous tutorials, I’d explained about ExecuteScalar, ExecuteNonQuery and Difference between ExecuteReader ExecuteNonQuery and ExecuteScalar and other more cracking tutorials on Asp.net here.
Now here in this tutorial, I’ll explain Ado.net ExecuteReader function in detail with example code.
The SqlCommand ExecuteReader in Ado.net is used to get and read the set of rows fetched using sql queries or stored procedures from the sql database table.
ExecuteReader object is a forward-only and supports read-only access of queried results that fetched from the database tables cannot be modified as it always opens in read-only mode.
To explain further about execute reader example, we need to create database table to read data and bind retrieved result to asp.net gridview, so simply execute following script to sql query editor to create database table and then add few records manually or download complete example code with script at the end of the page.
Here is the script to create “SubjectDetails” table:
(
[SubjectId] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[SubjectName] [nvarchar](100) NULL
)
HTML Markup – [.aspx]
Following is the complete HTML Markup for your .aspx page:
<head runat="server">
<title>Webblgosforyou.com | ExecuteReader Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td colspan="3">
<h4>SqlCommand ExecuteReader in ado.net example</h4>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="gvSubjectDetails" runat="server" AutoGenerateColumns="false"
DataKeyNames="SubjectID">
<HeaderStyle Font-Bold="true" BackColor="#ff6600" BorderColor="#f5f5f5"
ForeColor="White" Height="30" />
<Columns>
<asp:BoundField DataField="SubjectID" HeaderText="Subject Id"
ItemStyle-Width="150px" />
<asp:BoundField DataField="SubjectName" HeaderText="Subject Name"
ItemStyle-Width="200px" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Now check the below sample example code snippet to bind the asp.net grid view with executereader.
ExecuteReader Example – [C#]
string strConn = "Data Source=datasource;Integrated Security=true;Initial Catalog=yourDB";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridviewFileData();
}
}
//bind subject details to gridview
private void BindGridviewFileData()
{
try
{
using (SqlConnection sqlConn = new SqlConnection(strConn))
{
using (SqlCommand sqlCmd = new SqlCommand())
{
sqlCmd.CommandText = "SELECT * FROM SubjectDetails";
sqlCmd.Connection = sqlConn;
sqlConn.Open();
SqlDataReader objDataReader = sqlCmd.ExecuteReader();
gvSubjectDetails.DataSource = objDataReader;
gvSubjectDetails.DataBind();
sqlConn.Close();
}
}
}
catch { }
}
ExecuteReader Example – [Vb.net]
Dim strConn As String = "Data Source=datasource;Integrated Security=true;Initial Catalog=yourDB"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
BindGridviewFileData()
End If
End Sub
'bind subject details to gridview
Private Sub BindGridviewFileData()
Try
Using sqlConn As New SqlConnection(strConn)
Using sqlCmd As New SqlCommand()
sqlCmd.CommandText = "SELECT * FROM SubjectDetails"
sqlCmd.Connection = sqlConn
sqlConn.Open()
Dim objDataReader As SqlDataReader = sqlCmd.ExecuteReader()
gvSubjectDetails.DataSource = objDataReader
gvSubjectDetails.DataBind()
sqlConn.Close()
End Using
End Using
Catch
End Try
End Sub