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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2009, 15:03   #1
nowmax
 
Регистрация: 25.11.2008
Сообщений: 6
По умолчанию Access + ADO, проверка на соответствие (Login-Pass)

Здравствуйте ув. Форумчане =)
собственно у меня такая проблемка
есть некая форма авторизации пользователя...
2 edit [edit1(Login),Edit2(Password)]
так же на форме присутствует Button1 =)
так вот... нужно чтобы при нажатии на Button1
производилась проверка на соответствие (Login-Pass) в бд
(Таблица называется ALP состоит из столбцов Login, Password)
что то типа:

Код:
procedure TForm3.Button1Click(Sender: TObject);
  var s1: string;
    begin
    datamodule5.adoquery1.close;
    datamodule5.adoquery1.sql.clear;
    s1:='select * from ALP where Login='''+edit1.text+'''';
    datamodule5.adoquery1.sql.add(s1);
    datamodule5.adoquery1.active:=true;
    datamodule5.adoquery1.open;
    if not datamodule5.adoquery1.isEmpty then 
    begin
    form1.ShowModal
    Edit1.Clear;
    Edit2.Clear;
    form3.Close;
    end
    else
    ShowMessage('Неправильно введены Login#Pass пожалуйста пройдите регистрацию')
        end;
собственно этот код проверяет только логин... а как сделать чтобы производилась проверка именно пары (Login-Password)???

Последний раз редактировалось nowmax; 23.02.2009 в 16:10.
nowmax вне форума Ответить с цитированием
Старый 23.02.2009, 15:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
select * from ALP where Login='+QuotedStr(edit1.text)+' and pass='+QuotedStr(Edit2.text)
Примерно так
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.02.2009, 15:55   #3
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

дпопробуйте ля проверки использовать ADODataSet, в который передаётся 2 переменных(пользователь и пароль), и если возвращается набор не 0, значит пользователь и пароль верен.
Код:
dm1.ADODataSet12.Parameters.ParamByName('LPar').Value:=labelededit1.Text;
 dm1.ADODataSet12.Parameters.ParamByName('PPar').Value:=labelededit2.Text;

 dm1.adodataset12.open;
 if dm1.ADODataSet12.Recordset.RecordCount>0
  then
   <ваши действия>
вот commandtext для этой проверки:
Код:
      select * from <имя таблицы>
        where st_login=:LPar 
         and st_parol=:PPar
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 23.02.2009, 15:55   #4
nowmax
 
Регистрация: 25.11.2008
Сообщений: 6
По умолчанию

примерно так уже пробовал )))) ща еще попробую )))
Dark_Spirit ща попробую =) спс
nowmax вне форума Ответить с цитированием
Старый 23.02.2009, 16:09   #5
nowmax
 
Регистрация: 25.11.2008
Сообщений: 6
По умолчанию

сделал так...
Код:
procedure TForm3.Button1Click(Sender: TObject);
   var s1: string;
    begin
    datamodule5.adoquery1.close;
    datamodule5.adoquery1.sql.clear;
    s1:='select * from ALP where Login='+QuotedStr(edit1.text)+'and Password='+QuotedStr(Edit2.text);
    datamodule5.adoquery1.sql.add(s1);
    datamodule5.adoquery1.active:=true;
    datamodule5.adoquery1.open;
    if not datamodule5.adoquery1.isEmpty then
    begin
    form3.Visible:= false;
    Edit1.Clear;
    Edit2.Clear;
    form1.ShowModal ;
    end
    else
    ShowMessage('Неправильно введены Login#Pass пожалуйста пройдите регистрацию')
    end;
все робит вроде... =) просто до этого рамс был c апосрофами... всем спасибо =) вот что значит не правильно их расставлять )))
огромное спасибо тебе Stilet

Последний раз редактировалось nowmax; 23.02.2009 в 16:42.
nowmax вне форума Ответить с цитированием
Старый 23.02.2009, 16:35   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
nowmax
Всегда пожалуйста
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
access+delphi+ado aid_013 БД в Delphi 2 10.07.2010 09:28
Delphi <--> ADO <--> Access acid02 БД в Delphi 4 09.04.2009 16:29
Access + ADO, проверка ключа на уникальность KiLLiR БД в Delphi 2 23.02.2009 10:36
ACCESS Login MAcK БД в Delphi 2 27.05.2008 11:09
Access/ADO Anton_S БД в Delphi 2 26.05.2008 08:24