You want to determine how
many records there are in a
Use one of the following three techniques:
Iterate over the
query as part of a batch query. Note that not all data sources
support batch queries. If not, execute the statements separately one
after the other for a similar result.
return the number or rows in a
DataReader has been closed. This technique is
SQL Server specific.
The sample code uses a single stored procedure:
Returns a result set containing all records in the Orders table in
Northwind. Also, the stored procedure returns the
@@ROWCOUNT value for the query in an output
parameter. The stored procedure is shown in Example 2-7.
Example 2-7. Stored procedure: SP0207_GetOrders
ALTER PROCEDURE SP0207_GetOrders @RowCount int output AS set nocount on select * from Orders set @RowCount = @@ROWCOUNT RETURN
The C# code is shown in Example 2-8.
Example 2-8. File: DataReaderRowCountForm.cs
// Namespaces, variables, and constants using System; using System.Configuration; using System.Data; using System.Data.SqlClient; // . . . // Batch query to retrieve the COUNT of records and // all of the records in the Orders table as two result sets. String sqlText = "SELECT COUNT(*) FROM Orders; " + "SELECT * FROM Orders;"; // Create the connection. SqlConnection conn = new SqlConnection( ConfigurationSettings.AppSettings["Sql_ConnectString"]); ...