Не правильно работает аутентификация - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую. Возникла проблема при авторизации. Суть программы такова: на форме имеется компонент DataGridView, подключённый к базе MS Access, а так же два компонента TextBox — "Login" и "Password". При вводе данных происходит сравнение TextBox с данными в DataGridView и при наличии данных в базе происходит авторизация в программе. Написал код, в некоторых случаях он работает, но есть две проблемы: 1. Если не применять условие
&& (cell.Value.ToString() == Password.Text
, то аутентификация проходит; 2. В любом случае выводится сообщение "Не верный логин или пароль!", даже когда авторизация прошла. Вопросы: 1. Как сделать так, чтобы авторизация прошла с использованием логина и пароля? 2. Почему в любом случае срабатывает условие else?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp3
{
    public partial class Autorization : Form
    {
        public Autorization()
        {
            InitializeComponent();
        }
 
        private void Autorization_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "databaseDataSet.Авторизация". При необходимости она может быть перемещена или удалена.
            this.авторизацияTableAdapter.Fill(this.databaseDataSet.Авторизация);
 
        }
 
        private void PictureBox1_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                foreach (DataGridViewCell cell in row.Cells)
                {
                    if (cell.Value != null)
                    {
                        if (cell.Value.ToString() == Login.Text && (cell.Value.ToString() == Password.Text))
                        {
                            Hide();
                            GlobalForm frm = new GlobalForm();
                            frm.Show();
                        }
                        else
                        {
                            MessageBox.Show("Не верный логин или пароль!");
                        }
                    }
                }
            }
        }
 
    }
}

Благодарю за уделённое внимание!

Решение задачи: «Не правильно работает аутентификация»

textual
Листинг программы
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                foreach (DataGridViewCell cell in row.Cells)
                {
                    if (cell.Value != null)
                    {
                        if (cell.Value.ToString() == Login.Text && (cell.Value.ToString() == Password.Text))
                        {
                            Hide();
                            GlobalForm frm = new GlobalForm();
                            frm.Show();
                        }
                        else
                        {
                            MessageBox.Show("Не верный логин или пароль!");
                        }
                    }
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы