Mysql метод ExecuteScalar

Метод ExecuteScalar класса MySqlCommand обычно используется в том случаи, когда необходимо выполнить запрос к базе данных Mysql и вернуть какое-то одно единственное значение.

Например, предположим, что у нас есть база данных company, которая содержит всего одну таблицу users состоящую из двух колонок: id и name.

таблица

Рассмотрим пример, в котором нам нужно получить количество всех записей, которые содержаться в данной таблице.

Более подробно о том, как работать с базой данных Mysql, можно прочитать, перейдя по ссылке.

Обратите внимание на то, что полученный результат имеет тип object, который затем преобразовывается в тип int.

Очень часто здесь допускают ошибку, используя следующую запись:

Такой способ преобразования не стоит использовать, так как если в указанной таблице не будет ни одной записи, то тогда в результате будет получено значение null, которое при попытке конвертирования к типу int будет приводить к возникновению исключения.

Лучше использовать метод ToInt32 класса Convert, который позволяет без каких-либо проблем преобразовать полученное значение null в значение ноль. В результате в переменной (cntRcrds) всегда будут только числа.

Вызов метода GetNumberOfRecords:

Результат: 6.

Рассмотрим ещё один пример, в котором мы выполним выборку имен пользователей по заданному условию:

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

То есть в данном примере сначала отправляется запрос к базе данных Mysql, потом делается выборка с указанным условием, после чего нам возвращается самое первое значение из колонки id.

Результат: 1.

значение таблицы

Если удалить первую строку в таблице и снова выполнить тот же самый запрос, то результатом будет значение: 3.

3

Читайте также:

Похожие темы

Новости софта от 24 сентября 2014 года (MySQL, MiA... MySQL Community Server (проще говоря, это и есть MySQL, бесплатная версия, которой все пользуются) обновился до версий MySQL Community Server 5.6.21...
Получение данных из базы данных Mysql с помощью ме... Mysql метод ExecuteReader В этой статье хочу показать на простом примере, как можно получить данные из базы данных Mysql с помощью метода ExecuteRead...
Разрешение проблемы с Warning: mysqli::mysqli(): T... На моём хостинге можно выбирать версию PHP. На выбор предоставляются PHP 5.2 / 5.3 / 5.4 / 5.5 / 5.6. Много лет назад, когда я только создавал свой ...
Новости софта от 26 сентября 2014 года (CKEditor, ... Обычно информация по LibreOffice передвигается в самый низ новости, т. к. эта программа не имеет прямого отношения к Интернету и сетевым технол...
Почему в Data Source нет Mysql Database? Почему у меня в Data Source нет пункта Mysql Database? В комментариях многие спрашивают, почему при подключении к базе данных Mysql, с помощью графич...