Почему я не могу войти в систему даже с правильными учетными данными?
Привет! Я использую Visual Studio 2017. Я хотел сделать форму окна входа в систему с базой данных. Я погуглил и посмотрел много видео на YouTube, где учат, как это сделать. Я следовал инструкциям, но!!! 2 вопроса!!
Что я уже пробовал:
1. Большинство видео делают это именно так:
private void btnLogin_Click(object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\run_h\OneDrive\Documents\LoginDB.mdf;Integrated Security=True"); string query = "SELECT count(*) FROM [tblLogin] WHERE username = ' " +txtUsername.Text.Trim()+ " ' and password = ' " +txtPassword.Text.Trim()+" ' "; SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon); DataTable dtbl = new DataTable(); sda.Fill(dtbl); if(dtbl.Rows[0][0].ToString() == "1") { frmMain objfrmMain = new frmMain(); this.Hide(); objfrmMain.Show(); } else { MessageBox.Show("Try again next time."); } }
Проблема: этот метод ^ даст мне результаты оператора else даже после того, как я введу правильные учетные данные. Затем я прочитал некоторые комментарии, и альтернативное решение было-
2. Альтернативное решение:
private void btnLogin_Click(object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\run_h\OneDrive\Documents\LoginDB.mdf;Integrated Security=True"); string query = "SELECT count(*) FROM [tblLogin] WHERE username = ' " +txtUsername.Text.Trim()+ " ' and password = ' " +txtPassword.Text.Trim()+" ' "; SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon); DataTable dtbl = new DataTable(); sda.Fill(dtbl); if(dtbl.Rows.Count > 0) { frmMain objfrmMain = new frmMain(); this.Hide(); objfrmMain.Show(); } else { MessageBox.Show("Try again next time."); } }
Проблема: альтернативное решение, позволяющее мне войти в систему и следующая форма появится, когда я не поставил никаких учетных данных, а также, поставив неправильные учетные данные, когда их не должно быть.
----
Я серьезно понятия не имею, как это исправить. Кто-нибудь знает, как это исправить? Я действительно ценю любое руководство. Заранее благодарю вас!!
Видео, за которыми я следил:
Создать окно входа в систему на C# с помощью Sql Server - YouTube[^]
Как создать форму входа в систему на C# с базой данных в Visual Studio?[С Исходным Кодом] - YouTube[^]
----