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

ExecuteNonQuery pour l'instruction SQL SELECT ne renvoyant aucune ligne

La ExecuteNonQuery Method renvoie le nombre de ligne(s) affectée(s) soit par un INSERT , une UPDATE ou un DELETE . Cette méthode doit être utilisée pour effectuer des instructions DML (langage de manipulation de données) comme indiqué précédemment.

La ExecuteReader Method renverra le jeu de résultats d'un SELECT . Cette méthode doit être utilisée lorsque vous recherchez un ensemble de résultats, tels que des lignes d'une table, une vue, etc.

La ExecuteScalar Method renverra une seule valeur dans la première ligne, première colonne d'un SELECT déclaration. Cette méthode doit être utilisée lorsque vous vous attendez à ce qu'une seule valeur de la requête soit renvoyée.

Bref, c'est normal que vous n'ayez aucun résultat d'un SELECT déclaration lors de l'utilisation de ExecuteNonQuery méthode. Utiliser ExecuteReader Au lieu. Utilisation de ExecuteReader méthode, saura combien de lignes ont été renvoyées via l'instance de SqlDataReader objet retourné.

int rows = 0;

if (reader.HasRows)
    while (reader.Read())
        rows++;

return rows; // Returns the number of rows read from the reader.