Wenn Sie nur einen Wert aus einer Abfrage zurückgeben möchten, dann ExecuteScalar ist, was Sie verwenden sollten, . Der ExecuteReader ist besser für nur vorwärts liest mehrere Datensätze, also ist es für Ihre Situation zu viel des Guten
Sehen Sie sich hier einen Vergleich an Was ist der Unterschied zwischen ExecuteScalar, ExecuteReader und ExecuteNonQuery?