<%@ Page %>

Obtaining No. Of Record Returned From DataReader


DataReader allows forwardonly and readonly data access. Many times we need to know the number of records returned after firing a SELECT query. DataReader do not offer this functionality. We can, however, use some trick to quickly and efficiently get this data. This How To is intended to show you just that.

Executing Batch Queries

The Command object can be used to fire batch of queries instead of single query. In this case we can execute action as well as select queries together. We can then call ExecuteReader method of the Command object. There can be multiple result sets obtained and those can be navigated using NextResult method of DataReader. Following code snippet shows how it works:
Dim cnn As New SqlConnection(Global.GetConnectionString)
Dim cmd As New SqlCommand()
Dim dr As SqlDataReader
cmd.CommandText = "select count(*) from employees;
select * from employees"
cmd.Connection = cnn

dr = cmd.ExecuteReader

Label1.Text = dr.GetValue(0)
DataGrid1.DataSource = dr
Here, we have first declared objects of connection, command and DataReader. Note how the CommandText property of the command object is set to two SELECT queries separated by a ";". Next, the Command is executed and the output is assigned to DataReader. The DataReader contains two result sets matching our queries. First query gives us the number of records. The NextResult method shifts to the next result set and we can bind the actual data with the DataGrid.

I hope you must have find the article useful. See you soon.

Bipin Joshi is an independent software consultant and trainer by profession specializing in Microsoft web development technologies. Having embraced the Yoga way of life he is also a yoga mentor, meditation teacher, and spiritual guide to his students. He is a prolific author and writes regularly about software development and yoga on his websites. He is programming, meditating, writing, and teaching for over 27 years. To know more about his private online courses on ASP.NET and meditation go here and here.

Posted On : 08 June 2002

Tags : ADO.NET Data Access SQL Server