У меня есть таблица, в которой есть список имен пользователей и паролей, и я хочу, чтобы имя пользователя и пароль совпадали с тем, который был сохранен в БД. Код, который я использую, только извлекает информацию для входа в первую запись в таблице users, как я могу изменить это, чтобы код работал для всего пользователя.Извлечение пароля пользователя из базы данных
Я НАЧИНАЮЩИЙ на VS, и я пытаюсь изучить основы так позже я буду реализовывать более сложные страницы входа с шифрованием .. Спасибо
private void btnLogin_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
cn.ConnectionString = "Server=;Database=;User Id=naljalid;Password=";
cmd.Connection = cn;
string username = tbxUserName.Text;
cmd.CommandText = "SELECT UserPassword FROM tblLoginProject WHERE UserName=username";
// open a connection to DB
cn.Open();
//read the table
dr = cmd.ExecuteReader();
//read a record from te data reader
dr.Read();
// compare the passwords
if (tbxPassword.Text == dr.GetString(0))
{
MessageBox.Show("Hello");
}
else
{
MessageBox.Show("Login failed, please re-enter your password");
}
}
Зачем вам загружать всех пользователей, если только один входит в систему? Просто удалите предложение WHERE и сохраните результаты в контейнере где-нибудь в своем приложении, если это то, что вы хотите. – OldProgrammer