Det beror på att ExecuteNonQuery
returnerar inte resultatet av frågan, den körs bara på SQL-servern. Returvärdet är antalet rader som påverkas av ditt uttalande, -1 när uttalandet inte påverkar några rader. ExecuteNonQuery
(som namnet antyder) är inte avsedd för att returnera frågeresultat, utan snarare för att köra en sats som ändrar data (som INSERT, DELETE, UPDATE). Dokumenten säger:
Du kan använda:
count = (int)command.ExecuteScalar();
För att få den räkning du letar efter. Det finns också ett exempel i dokumenten för ExecuteScalar
.