Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

ExecuteNonQuery para instrução SQL SELECT que não retorna nenhuma linha


O ExecuteNonQuery Method retorna o número de linhas afetadas por um INSERT , uma UPDATE ou um DELETE . Este método deve ser usado para executar instruções DML (linguagem de manipulação de dados) conforme indicado anteriormente.

O ExecuteReader Method retornará o conjunto de resultados de um SELECT . Esse método deve ser usado quando você estiver consultando vários resultados, como linhas de uma tabela, exibição, o que for.

O ExecuteScalar Method retornará um único valor na primeira linha, primeira coluna de um SELECT demonstração. Esse método deve ser usado quando você espera que apenas um valor da consulta seja retornado.

Resumindo, é normal que você não tenha resultados de um SELECT instrução ao usar o ExecuteNonQuery método. Use o ExecuteReader em vez de. Usando o ExecuteReader método, saberá quantas linhas foram retornadas através da instância do SqlDataReader objeto devolvido.
int rows = 0;

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

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