Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL SELECT avec procédure stockée et paramètres ?

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).