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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2014, 22:03   #1
Userkeys
Пользователь
 
Регистрация: 20.05.2014
Сообщений: 28
По умолчанию Поправить код немножко

Привет всем. Поправьте, пожалуйста, авторизацию. У меня две таблицы, кот. содержат сотрудников и продавцов, но авторизоваться может только одна категория. В моем случае только сотрудники могут зайти, а для продавцвов не верный пароль пишет. Вот код. Помогите сделать так, чтобы могли заходить обе категории.
Код:
with TADODataSet.Create(nil) do
    try
      Connection := ADOConnection1;
      CommandText := 'Select [Логин], [Пароль] from Сотрудники where [Логин]=:pLogin AND [Пароль]=:pPassword';
      Parameters.ParamByName('pLogin').Value := login1.Text;
      Parameters.ParamByName('pPassword').Value := Password.Text;

      CommandText := 'Select [Логин], [Пароль] from Продавцы where [Логин]=:pLoginREK AND [Пароль]=:pPasswordREK';
      Parameters.ParamByName('pLoginREK').Value := login1.Text;
      Parameters.ParamByName('pPasswordREK').Value := Password.Text;
      try
        Open;
        bLogged := (RecordCount>0);
        Close;
      except
      end;
    finally
      Free;
    end;
   if not bLogged then
          MessageBox(0, 'Неверный логин или пароль', 'Уведомление', MB_ICONERROR)
      else
         MessageBox(0, 'Авторизация прошла успешно', 'Уведомление', MB_ICONASTERISK);
Userkeys вне форума Ответить с цитированием
Старый 06.06.2014, 22:42   #2
Userkeys
Пользователь
 
Регистрация: 20.05.2014
Сообщений: 28
По умолчанию

актуально...
Userkeys вне форума Ответить с цитированием
Старый 07.06.2014, 12:43   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
    try
      Connection := ADOConnection1;
      CommandText := 'Select [Логин], [Пароль] from Сотрудники where [Логин]=:pLogin AND [Пароль]=:pPassword UNION Select [Логин], [Пароль] from Продавцы where [Логин]=:pLogin AND [Пароль]=:pPassword';
      Parameters.ParamByName('pLogin').Value := login1.Text;
      Parameters.ParamByName('pPassword').Value := Password.Text;
      try
        Open;
Умалчивая про неправильную архитектуру, можно предложить такой костыль.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поправить код orandzheviyman Паскаль, Turbo Pascal, PascalABC.NET 8 15.11.2013 12:38
Оптимизировать или сделать код немножко красивее) Pein95 Общие вопросы C/C++ 11 07.01.2013 14:10
Оптимизировать или сделать код немножко красивее) Pein95 Помощь студентам 0 09.12.2012 18:20
поправить код! Cruelbob Общие вопросы C/C++ 6 12.05.2010 23:33
Поправить Код... Lucchese Общие вопросы C/C++ 1 25.01.2010 20:00