Tutaj się mylisz:
cmd.ExecuteNonQuery();
Jesteś jesteś wykonywanie zapytania.
Musisz ExecuteReader
lub ExecuteScalar
zamiast. ExecuteReader jest używany dla zestawu wyników (kilka wierszy/kolumn), ExecuteScalar gdy zapytanie zwraca pojedynczy wynik (zwraca object , więc wynik musi być rzutowany na właściwy typ).
var result = (int)cmd.ExecuteScalar();
wyniki zmienna będzie teraz przechowywać OledbDataReader
lub wartość z wynikami SELECT . Możesz iterować wyniki (dla czytelnika) lub wartość skalarną (dla skalara).