Я пытаюсь аутентифицировать моего пользователя, извлекая имя пользователя и пароль из моей базы данных.
В функции входа в систему я пытаюсь запросить пароль, который совпадает с именем пользователя, которое передается в качестве параметра функции, и соответственно аутентифицировать пользователя, если пароль совпадает с паролем пользователя.
sqlDr.HasRows возвращает значение True, если затронута какая-либо строка.так что если это правда, я прохожу мой ряд в таблице.При проверке в столбце «password_» моей таблицы, если он совпадает с паролем пользователя, он должен вернуть true, но здесь он просто возвращает false.
Но программа возвращает false, если пароль не совпадает.
public bool login(string username,string password)
{
bool doesExist = false ;
try
{
sqlConnection_ = DBConnection.openConnection();
string query_login = "select password_ from Customer where username_=@username";
SqlCommand sqlCommand = new SqlCommand(query_login, sqlConnection_);
sqlCommand.Parameters.Add("@username", SqlDbType.VarChar,20).Value=username;
//sqlCommand.Parameters["@username"].Value = username;
SqlDataReader sqlDr = sqlCommand.ExecuteReader();
while (sqlDr.Read())
{
if (sqlDr.GetSqlString(0).ToString().Equals(password))
{
doesExist = true;
break;
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return false;
}
//DBConnection.closeConnection(sqlConnection_);
//Console.WriteLine("I am here outside ");
return doesExist;
}
Я ожидаю, что моя функция вернет True, если пароль совпадает. И возвращает false, если введенное имя пользователя или пароль не совпадает ни с одной из записей в моей базе данных.