Voici où vous vous trompez :
cmd.ExecuteNonQuery();
Vous êtes exécuter une requête.
Vous devez ExecuteReader
ou ExecuteScalar
Au lieu. ExecuteReader
est utilisé pour un jeu de résultats (plusieurs lignes/colonnes), ExecuteScalar
lorsque la requête renvoie un seul résultat (elle renvoie object
, le résultat doit donc être transtypé dans le type correct).
var result = (int)cmd.ExecuteScalar();
Les results
la variable contiendra désormais un OledbDataReader
ou une valeur avec les résultats du SELECT
. Vous pouvez parcourir les résultats (pour un lecteur) ou la valeur scalaire (pour un scalaire).