Поделиться через


IDbCommand.ExecuteScalar Метод

Определение

Выполняет запрос и возвращает первый столбец первой строки результирующего набора, возвращаемого запросом. Дополнительные столбцы или строки не обрабатываются.

public:
 System::Object ^ ExecuteScalar();
public object? ExecuteScalar ();
public object ExecuteScalar ();
abstract member ExecuteScalar : unit -> obj
Public Function ExecuteScalar () As Object

Возвращаемое значение

Первый столбец или первая строка в результирующем наборе.

Примеры

В следующем примере создается экземпляр производного класса , SqlCommandа затем выполняется с помощью ExecuteScalar. В примере передается строка, которая является инструкцией Transact-SQL, которая возвращает статистический результат, и строка, используемая для подключения к источнику данных.

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

Комментарии

Используйте метод для ExecuteScalar получения одного значения (например, статистического) из базы данных. Для этого требуется меньше кода, чем использование ExecuteReader метода , а затем выполнение операций, необходимых для создания одного значения с использованием данных, возвращаемых IDataReader.

Типичный ExecuteScalar запрос можно отформатировать, как показано в следующем примере C#:

CommandText = "select count(*) as NumberOfRegions from region";  
Int32 count = (int) ExecuteScalar();  

Если первый столбец первой строки в результирующем наборе не найден, возвращается пустая ссылка (Nothing в Visual Basic). Если значение в базе данных равно null, запрос возвращает DBNull.Value.

Применяется к