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

SQL SELECT com procedimento armazenado e parâmetros?


Aqui é onde você está errando:
cmd.ExecuteNonQuery();

Você é executando uma consulta.

Você precisa ExecuteReader ou ExecuteScalar em vez de. ExecuteReader é usado para um conjunto de resultados (várias linhas/colunas), ExecuteScalar quando a consulta retorna um único resultado (ela retorna objeto , então o resultado precisa ser convertido para o tipo correto).
var result = (int)cmd.ExecuteScalar();

Os resultados A variável agora conterá um OledbDataReader ou um valor com os resultados do SELECT . Você pode iterar sobre os resultados (para um leitor) ou o valor escalar (para um escalar).