Ето къде грешите:
cmd.ExecuteNonQuery();
Вие сте изпълнение на заявка.
Трябва да ExecuteReader
или ExecuteScalar
вместо. ExecuteReader се използва за набор от резултати (няколко реда/колони), ExecuteScalar когато заявката върне един резултат (връща object , така че резултатът трябва да бъде преобразуван в правилния тип).
var result = (int)cmd.ExecuteScalar();
Резултатите променливата вече ще съдържа OledbDataReaderкод>
или стойност с резултатите от SELECT . Можете да итерирате резултатите (за четец) или скаларната стойност (за скалар).