Выполняет указанный SQL-запрос и возвращает первый столбец первой строки из полученного набора данных.
Не рекомендуется использовать этот метод, чтобы избежать возникновение SQL Injection при неправильном построении запроса.
Лучше используйте одну из перегрузок этого метода: ExecuteScalar или ExecuteScalar(SqlCommand).
Пространство имён: Nemiro.Data.SqlСборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис
Параметры
- sql
- Тип: System String
Возвращаемое значение
Тип: ObjectЕсли запрос успешно выполнен, возвращает первый столбец первой строки из полученного набора данных.
Если запрос не дал результатов, возвращает NULL (в Visual Basic .NET - Nothing).
Может вернуть Value, если запрос был успешно выполнен и полученное поле имеет значение NULL.
Исключения
Исключение | Условие |
---|---|
SqlException | Исключение возникает при возврате SQL Server предупреждения или ошибки. |
ValueForIdentityException | Исключение происходит, если у ключевого свойства отсутствует флаг Identity и при этом соответствующее поле таблицы является числовым счетчиком. |
StringOrBinaryDataWouldBeTruncatedException | Исключение возникает, если в некоторые поля таблицы добавляются значения, объем которых превышает допустимый размер поля таблицы. |
Заметки
Результат выполнения запроса может кэшироваться, если свойство CacheDuration больше нуля и CacheType имеет отличное от None значение.
Примеры
using (SqlClient client = new SqlClient()) { // выполняем запрос object result = client.ExecuteScalar("SELECT nickname FROM users WHERE id_users = 1"); // выводим результат в консоль Console.WriteLine("Псевдоним пользователя: {0}", result); }
См. также