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

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

Похожие темы

Cоздание файла App.Config c элементом connectionSt... Cоздание файла App.Config c элементом connectionStrings Продолжаем работать с приложением, созданным в предыдущей статье. Сегодня повысим гибкость, и...
c# Как удалить строку в базе данных Mysql?... Удаление строки (записи) в базе данных Mysql Из этой статьи Вы узнаете, как удалить строку или запись в базе данных Mysql с помощью языка c#. Надеюсь...
Вызов хранимой процедуры на клиенте... Вызов хранимой процедуры MySQL на клиенте В этой статье добавим возможность вызова хранимой процедуры из нашего клиентского приложения. Для начала...
Unable to convert MySQL date-time value to System.... Ошибка: Unable to convert MySQL date/time value to System.DateTime В комментариях многие жалуются, что у них при работе с базой данных Mysql возникае...
Как установить Apache, MariaDB/MySQL и PHP на Cent... Если вас интересует, как установить сервер на Windows, то вам сюда "Установка Apache, PHP, MySQL, phpMyAdmin на Windows". Apache, Mari...