Sqlexception был необработан .. Сообщение об ошибке
Я создал логин пользователя с помощью MySql, однако при запуске кода ...
частная LoginButton_Click недействительным(объект отправителя, EventArgs в электронной)
{
SqlConnection sqlcon = new SqlConnection(@"источник данных=HP\SQLEXPRESS;начальный каталог=инвентаризация;Интегрированная безопасность=True");
строка запроса = "выбрать * из пользователей, где имя пользователя = '" + Username_txt.Текст + "' и пароль = '" + Password_txt.Текст + "'";
SqlDataAdapter sda = новый SqlDataAdapter(запрос, sqlcon);
DataTable dtbl = новый DataTable();
sda.Fill(dtbl);
если (dtbl.Строк.Количество == 1)
{
Приборной панели форму mainform = новая приборная панель();
этот.Скрыть();
форму mainform.Показать();
}
еще
{
Ящик для сообщений.Показать("Проверьте свое имя пользователя и пароль");
}
}
я понимаю, что это ошибка ...
"Необработанное исключение типа" System.Data.SqlClient.SqlException" произошло в System.Data.dll
Дополнительная информация: неверный синтаксис рядом с ключевым словом "пользователь". "
в то время как он выделяет " sda.Fill(dtbl);"
Что я уже пробовал:
переписывание кода, двойная проверка соединения
Richard MacCutchan
Пожалуйста, не храните пароли в виде открытого текста. И не используйте конкатенацию строк для создания SQL-команд.
Member 13512434
Привет, я понимаю, что это плохая практика, но что я должен использовать вместо этого?
Richard MacCutchan
Это не просто плохая практика, это чрезвычайно опасно. Используйте параметризованные запросы для команд базы данных и соленые хэши для паролей.