IDbCommand.ExecuteScalar Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Executa a consulta e devolve a primeira coluna da primeira linha do conjunto de resultados devolvida pela consulta. Colunas ou linhas extra são ignoradas.
public:
System::Object ^ ExecuteScalar();
public object ExecuteScalar();
abstract member ExecuteScalar : unit -> obj
Public Function ExecuteScalar () As Object
Devoluções
A primeira coluna da primeira linha do conjunto de resultados.
Exemplos
O exemplo seguinte cria uma instância da classe derivada, SqlCommand, e depois executa-a usando ExecuteScalar. O exemplo recebe uma string que é uma instrução Transact-SQL que devolve um resultado agregado, e uma string para usar para se ligar à fonte de dados.
public void CreateSqlCommand(
string queryString, SqlConnection connection)
{
SqlCommand command = new
SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteScalar();
connection.Close();
}
Public Sub CreateSqlCommand( _
queryString As String, connection As SqlConnection)
Dim command As New SqlCommand(queryString, connection)
command.Connection.Open()
command.ExecuteScalar()
connection.Close()
End Sub
Observações
Use o ExecuteScalar método para recuperar um único valor (por exemplo, um valor agregado) de uma base de dados. Isto requer menos código do que usar o ExecuteReader método, e depois realizar as operações necessárias para gerar o valor único usando os dados devolvidos por um IDataReader.
Uma consulta típica ExecuteScalar pode ser formatada como no seguinte exemplo em C#:
CommandText = "select count(*) as NumberOfRegions from region";
Int32 count = (int) ExecuteScalar();
Se a primeira coluna da primeira linha do conjunto de resultados não for encontrada, é devolvida uma referência nula (Nothing em Visual Basic). Se o valor na base de dados for null, a consulta devolve DBNull.Value.