#c# #sql #winforms #crash
#c# #sql #winforms #сбой
Вопрос:
У меня есть простая программа, в которой вы вводите логин и пароль в текстовые поля, которые должны проверять, существуют ли такие пользователь и пароль в моей локальной базе данных SQL. Все работает нормально, кроме DataReader. Когда я набираю логин и пароль, а затем нажимаю кнопку, мое приложение просто закрывается, вместо того, чтобы показывать ошибку (в случае неправильного пароля), открывать новую форму (в случае успеха) или просто показывать мне, что не так с моей программой. Когда я удалил rd.HasRows из поля условия в операторе «if», моя программа работала нормально, поэтому я думаю, что проблема здесь.
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-MR9T8DF\YEET;Initial Catalog=Students;Integrated Security=True");
Form2 studentForm = new Form2();
con.Open();
SqlCommand cmd = new SqlCommand("select * from Students where Login = '" LoginTextBox.Text "' and Password = '" PasswordTextBox.Text "'", con);
SqlDataReader rd = cmd.ExecuteReader();
if (rd.HasRows)
{
studentForm.Show();
}
else
{
ErrorLabel.Visible = true;
}
Hide();
}
Ответ №1:
Вы всегда скрываете свою форму после оценки входа в систему. Удалите эту строку:
Hide();