У меня много пользователей в таблице MySQL в приложении WinForms. Пользователь вводит свое имя пользователя и пароль. У меня вопрос: как я могу проверить, есть ли пользователь с таким именем пользователя и паролем в таблице в базе данных? Могу ли я сделать это с помощью метода IsDBNull()? Спрашивал на других сайтах по ссылке:
ссылка на сайт
, но адекватного ответа там получить не удалось.
Заранее спасибо!
Вы вызываете базу данных с оператором SELECT и просто смотрите на результаты. IsDBNull() - это метод, который проверяет, не имеет ли данный ввод значения. Например, если столбец базы данных nullable пуст / ноль.





Метод IsDBNull(int) проверяет, является ли определенный индекс, который вы читаете из базы данных, нулевым.
Например, если ваш запрос был:
select 1,null;
IsDBNull(0) вернул бы false (поскольку первое поле - 1), а IsDBNull(1) вернул бы true (поскольку он возвращает NULL).
Примечание. Также рекомендуется использовать это в качестве проверки безопасности перед чтением значений из столбцов, допускающих значение NULL.
Отвечая на заданный вопрос ...
Я предполагаю, что вы имеете в виду версию MySQL SqlDataReader.IsDBNull (Int32) (IsDbNull (int) документы). Он делает то, что говорят эти документы.
Если вы читаете запись из устройства чтения данных (что-то, что реализует IDataReader), вы можете проверить, является ли значение определенного поля (/ столбца) NULL, используя IsDbNull (zeroIndexedColumnNumber) `
Нет особого смысла проверять, «что [имя] пользователя и пароль [находятся] в таблице в базе данных». Для этого используйте предложение @TimSchemlter:
SELECT 1 FROM TblUser WHERE Username=@username AND Password=@password.
Затем используйте MySqlCommand.ExecuteReader и проверьте его свойство HasRows
Вы не знаете, как делать запросы с помощью SQL? Как вы думаете, что
IsDBNull()сделает для вас?