SqlCommand.ExecuteScalar Método

Definición

Ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devueltos por la consulta. Las demás columnas o filas no se tienen en cuenta.

public:
 override System::Object ^ ExecuteScalar();
public override object ExecuteScalar ();
override this.ExecuteScalar : unit -> obj
Public Overrides Function ExecuteScalar () As Object

Devoluciones

Primera columna de la primera fila del conjunto de resultados o una referencia nula ( Nothing en Visual Basic) si el conjunto de resultados está vacío. Devuelve un máximo de 2033 caracteres.

Excepciones

Se usó un SqlDbType valor distinto de Binary o VarBinary cuando Value se estableció Stream en . Para obtener más información sobre el streaming, vea Compatibilidad de transmisión de datos de SqlClient.

o bien

Un SqlDbType valor distinto de Char, NChar, NVarChar, VarChar o Xml se usó cuando Value se estableció TextReader en .

O bien

Se usó un SqlDbType valor distinto de Xml cuando Value se estableció en XmlReader .

Se produjo una excepción al ejecutar el comando contra una fila bloqueada. Esta excepción no se genera cuando se usa Microsoft .NET Framework versión 1.0.

o bien

Se agotó el tiempo de espera durante una operación de streaming. Para obtener más información sobre el streaming, vea Compatibilidad de transmisión de datos de SqlClient.

La SqlConnection se cerró o se interrumpió durante una operación de streaming. Para obtener más información sobre el streaming, vea Compatibilidad de transmisión de datos de SqlClient.

Error en un Stream objeto o XmlReaderTextReader durante una operación de streaming. Para obtener más información sobre el streaming, vea Compatibilidad de transmisión de datos de SqlClient.

El Stream objeto , XmlReader o TextReader se cerró durante una operación de streaming. Para obtener más información sobre el streaming, vea Compatibilidad de transmisión de datos de SqlClient.

Ejemplos

En el ejemplo siguiente se crea y SqlCommand , a continuación, se ejecuta mediante ExecuteScalar. El ejemplo se pasa una cadena que representa un nuevo valor que se va a insertar en una tabla y una cadena que se va a usar para conectarse al origen de datos. La función devuelve el nuevo valor de columna Identity si se insertó una nueva fila, 0 en caso de error.

using System;
using System.Data;
using Microsoft.Data.SqlClient;

public class Sample
{

    public void CreateSqlCommand(
        string queryString, SqlConnection connection)
    {
        SqlCommand command = new
            SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteScalar();
        connection.Close();
    }

Comentarios

Use el ExecuteScalar método para recuperar un valor único (por ejemplo, un valor agregado) de una base de datos. Esto requiere menos código que usar el ExecuteReader método y, a continuación, realizar las operaciones que necesita para generar el valor único mediante los datos devueltos por .SqlDataReader

Se puede dar formato a una consulta típica ExecuteScalar como en el ejemplo de C#siguiente:

cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
Int32 count = (Int32) cmd.ExecuteScalar();

Se aplica a