(очень новичок в кодировании - я новичок, извините, если это не имеет смысла) Я пытаюсь сделать страницу входа в систему для моей клиентской системы бронирования. У меня проблема, когда принимается любая комбинация имени пользователя и пароля. Я точно знаю, что мне нужно реализовать параметры SQL (чтобы предотвратить инъекцию), но не знаю, как это сделать. Вот мой код в приложении. Я хочу, чтобы результатом этого кода было то, что при нажатии кнопки входа в систему программа проверяет входные данные по базе данных, а затем разрешает вход - в главное меню или в окно сообщения, сообщающее пользователю, чтобы он повторил попытку.
private void LogInButton_Click(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Documents\LoginDB.mdf;Integrated Security=True;Connect Timeout=30");
sqlcon.Open();
SqlDataAdapter sda = new SqlDataAdapter("Select count(*) from Login Where username ='" + username.Text.Trim() + "' and password ='" + password.Text.Trim() + "'", sqlcon);
DataTable dt = new DataTable();
sda.Fill(dt);
sqlcon.Close();
if (dt.Rows.Count == 1)
{
frmMainMenu objFrmMainMenu = new frmMainMenu();
this.Hide();
objFrmMainMenu.Show();
}
else
{
MessageBox.Show("Invalid User Credentials. Try again !");
}
}
А вот информация о таблице и настроенная
[столбцы таблицы] [данные таблицы] 1
приветствуются любые советы - пожалуйста, дайте мне знать, если потребуется дополнительная информация.
Вы просто пытаетесь заменить имя пользователя и пароль параметрами команды SQL?
В дальнейшем пароли не будут храниться в виде обычного текста, я только что начал проект и постараюсь поработать над этим позже.
Возможный дубликат Как мне переписать запрос SQL как параметризованный запрос?