Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Mysql метод ExecuteScalar

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

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

таблица

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

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

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

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

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


Codeby Security School от Сodeby

Мы запустили свою онлайн школу по информационной безопасности. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного в курсе Paranoid


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

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

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

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

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

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

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

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

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

3

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


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

SQL инъекции — промежуточный уровень... Источник https://www.kalitutorials.net/2015/02/sql-injection-intermediate-level.html Это теоретический пост, посвящённый разновидностям атак тип...
Добавление новой записи в базу данных Mysql... Как добавить новую запись в базу данных Mysql? Из этой статьи Вы узнаете, как добавить новую запись в базу данных Mysql. Вопрос о добавление данных о...
Разрешение проблемы с Warning: mysqli::mysqli(): T... На моём хостинге можно выбирать версию PHP. На выбор предоставляются PHP 5.2 / 5.3 / 5.4 / 5.5 / 5.6. Много лет назад, когда я только создавал свой ...
Unable to convert MySQL date-time value to System.... Ошибка: Unable to convert MySQL date/time value to System.DateTime В комментариях многие жалуются, что у них при работе с базой данных Mysql возникае...
Как защитить LAMP сервер на CentOS или RHEL... LAMP — это программный стек, состоящий из Linux (операционной системы, которая является базовым уровнем), Apache (веб-сервера, который «...