SqlClient ExecuteScalar(SqlCommand) - методNemiro.Data.dll
Выполняет запрос к базе данных с указанными в экземпляре класса SqlCommand параметрами и возвращает первый столбец первой строки из полученного набора данных.

Пространство имён: Nemiro.Data.Sql
Сборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис

public Object ExecuteScalar(
	SqlCommand cmd
)

Параметры

cmd
Тип: System.Data.SqlClient SqlCommand

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

Тип: Object

Если запрос успешно выполнен, возвращает первый столбец первой строки из полученного набора данных.

Если запрос не дал результатов, возвращает NULL (в Visual Basic .NET - Nothing).

Может вернуть Value, если запрос был успешно выполнен и полученное поле имеет значение NULL.

Исключения

ИсключениеУсловие
SqlExceptionИсключение возникает при возврате SQL Server предупреждения или ошибки.
ValueForIdentityExceptionИсключение происходит, если у ключевого свойства отсутствует флаг Identity и при этом соответствующее поле таблицы является числовым счетчиком.
StringOrBinaryDataWouldBeTruncatedExceptionИсключение возникает, если в некоторые поля таблицы добавляются значения, объем которых превышает допустимый размер поля таблицы.
Заметки

В большинстве случаев, рекомендуется использовать метод ExecuteScalar  без параметров, совместно со свойствами CommandType, CommandText и Parameters. Суть будет примерно такой же, как и с SqlCommand, но работать удобней.

Результат выполнения запроса может кэшироваться, если свойство CacheDuration больше нуля и CacheType имеет отличное от None значение.

Примеры

using (SqlClient client = new SqlClient())
{
  // формируем запрос
  SqlCommand cmd = new SqlCommand("SELECT nickname FROM users WHERE id_users = @id_users");
  cmd.Parameters.Add("@id_users", SqlDbType.Int).Value = 1024;
  // выполняем запрос и выводим результат в консоль
  Console.WriteLine("Псевдоним пользователя: {0}", client.ExecuteScalar(cmd));
}
См. также