sql >> Databasteknik >  >> RDS >> Sqlserver

C# SqlDataReader Exekutionsstatistik och information

Prova att använda den inbyggda statistiken för körningstid och rader valda/berörda:

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString))
{
  cn.Open();
  cn.StatisticsEnabled = true;
  using (SqlCommand cmd = new SqlCommand("SP", cn))
  {
    cmd.CommandType = CommandType.StoredProcedure;
    try
    {
      using (SqlDataReader dr = cmd.ExecuteReader())
      {
        while (dr.Read())
        {

        }
      }
    }
    catch (SqlException ex)
    {
      // Inspect the "ex" exception thrown here
    }
  }

  IDictionary stats = cn.RetrieveStatistics();
  long selectRows = (long)stats["SelectRows"];
  long executionTime = (long)stats["ExecutionTime"];
}

Se mer på MSDN .

Det enda sättet jag kan se dig ta reda på hur något misslyckades är att inspektera SqlException kastas och tittar på detaljerna.



  1. Rudimentärt problem:grundläggande PL/SQL-konsolutgång?

  2. bästa handledningen för att använda entitetsramverket, POCO och MySQL

  3. Ersätt brytlinjen med '\n'

  4. Denna enkla kod skapar dödläge. Enkelt exempelprogram ingår