Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2017, 16:17   #1
Qwerty12321q
 
Регистрация: 16.12.2016
Сообщений: 3
Вопрос Не правильно работает аутентификация — 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("Не верный логин или пароль!");
                        }
                    }
                }
            }
        }

    }
}
Благодарю за уделённое внимание!
Qwerty12321q вне форума Ответить с цитированием
Старый 20.05.2017, 17:39   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

должно сработать если ЛОгин и Пароль будут одинаковыми
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа не правильно работает skyline17 Паскаль, Turbo Pascal, PascalABC.NET 6 07.01.2015 18:23
Не правильно работает HaKeRR Общие вопросы C/C++ 1 02.01.2015 17:10
Не правильно работает кнопка... FleXik Общие вопросы Delphi 5 13.02.2013 03:24
Не работает правильно!!! Vitalik1 Помощь студентам 2 01.11.2011 23:11
Не правильно (или правильно?) работает позиционирование в WebKit mutabor HTML и CSS 5 09.12.2010 09:54