@Dommager

Почему не работает код C#?

Делаю авторизацию, логины и пароли беру из БД. Все записи берутся корректно (выводил в MessageBox значения из тест бокса, одновременно со значениями из базы данных - идентичны). Когда начинаю сравнивать в коде, все отрицательно...
Не понимаю почему так происходит.
SqlCommand command = new SqlCommand("SELECT * FROM [Admin]", sqlConnection);

sqlReader = await command.ExecuteReaderAsync();

await sqlReader.ReadAsync();

if (textBox1.Text ==  Convert.ToString(sqlReader["login"]) )
{
   if (textBox2.Text == Convert.ToString(sqlReader["pass"]) )
   {
      Form1 f1 = new Form1();
      f1.ShowDialog();
   }
}
else
   MessageBox.Show("Неправильный логин или пароль");
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
arxont
@arxont
C# программист
Если в messagebox у вас всё верно, а при сравнение в коде нет, то сравните посимвольно и узнаете где ошибка, может в бд у вас добавлен какой-нибудь пробел, или перевод строки, или смесь русских-латинских символов. Сейчас попробовал ваш код - всё работает.
var sqlConnection = new SqlConnection("Data Source=localhost;" +
                                                  "Initial Catalog=tosterTest;" +
                                                  "Integrated Security=SSPI;");

            sqlConnection.Open();

            var command = new SqlCommand("SELECT * FROM [Admin]", sqlConnection);

            var sqlReader = await command.ExecuteReaderAsync();

            await sqlReader.ReadAsync();

            if (   textBox1.Text == sqlReader["login"].ToString()
                && textBox2.Text == sqlReader["pass"].ToString())
            {
                MessageBox.Show("Всё верно!");
            }
            else
                MessageBox.Show("Неправильный логин или пароль");

5a3750d54b3ee494508401.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mmmaaak
@mmmaaak
Попробуй сравнивать строки с помощью метода Equals(), сам нагуглишь, надеюсь, как его использовать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы