C# Sqldatareader Execution Statistics And Information
I am creating an automated DB Query Execution Queue, which essentially means I am creating a Queue of SQL Queries, that are executed one by one. Queries are executed using code sim
Solution 1:
Try using the built in statistics for the execution time and rows selected/affected:
using (SqlConnectioncn=newSqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString))
{
cn.Open();
cn.StatisticsEnabled = true;
using (SqlCommandcmd=newSqlCommand("SP", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
try
{
using (SqlDataReaderdr= cmd.ExecuteReader())
{
while (dr.Read())
{
}
}
}
catch (SqlException ex)
{
// Inspect the "ex" exception thrown here
}
}
IDictionarystats= cn.RetrieveStatistics();
longselectRows= (long)stats["SelectRows"];
longexecutionTime= (long)stats["ExecutionTime"];
}
See more on MSDN.
The only way I can see you finding out how something failed is inspecting the SqlException thrown and looking at the details.
Solution 2:
While I am a bit unsure what your question really is, with that I mean if you want a list of statistics that could be useful to save or how to get the statistics you mention above.
SqlDataReader has properties .RecordsAffected and .FieldCount that tells you a bit about how much data was returned.
You can also catch the SqlException to find out some information about what (if anything) went wrong.
Post a Comment for "C# Sqldatareader Execution Statistics And Information"