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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 20:02   #1
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
Вопрос Edit1.text=Form2.ADOTable1

Всем доброе времени суток! Такой вопрос!: Почему при использовании данной команды "Edit1.text=Form2.ADOTable1.FieldBy Name('Логин').Value"
у меня учтиываеться только первая строчка таблицы а последующие записи как бы не видит и у меня выходит такая проблемма....В таблице у меня два поля Логин и Пароль...в соответствующий Edit я ввожу значения , ДОпустим первым у меня в таблице стоит
Логин Пароль
Потапов 212121
под ним входит нормально),
ниже
Логин Пароль
Гость 12345
реакции нету(в данном случае если записи не совпадают у меня выводиться сообщения еще одной попытки)
MrMorozko вне форума Ответить с цитированием
Старый 25.10.2010, 20:06   #2
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
Var MOK: Integer;
begin
if Edit1.text=Form2.ADOTable1.FieldByN ame('Логин').Value then
if
Edit2.text=Form2.ADOTable1.FieldByN ame('Пароль').Value Then
MOK:= MessageDlg('Идентификация прошла удачно', mtInformation,[mbOK],2);
If MOK=mrOk then
begin
Form2.Visible:=False;
Form3.Visible:=true;
end
else
begin
I:=i+1;
MessageDlg('Логин или пароль неправильны попробуйте еще раз!!!!',mtError,[mbOK],1);
Edit1.text:='';
Edit2.Text:='';
if i=3 then begin MessageDlg('Ошибка, приложение будет закрыто',mtWarning,[mbOK],2);
application.Terminate;
end else
Edit1.SetFocus;
end;
If MOK=mrOk then
begin
Form1.Visible:=False;

end;
end;

Вот процедура которую я использую!
MrMorozko вне форума Ответить с цитированием
Старый 26.10.2010, 08:26   #3
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Потому что ты ищешь совпадения логин\пароль только в первой строке таблицы. Используй для поиска
Код:
vSuccess := False;
ADOTable1.First;
while not ADOTable1.EOF do
 begin
 if Edit1.text=Form2.ADOTable1.FieldByN ame('Логин').Value then
 if Edit2.text=Form2.ADOTable1.FieldByN ame('Пароль').Value Then
  begin
  ShowMessage('Аутентификация прошла успешно');vSuccess := True; break;
  end;
 ADOTable1.Next;
 end;
if vSuccess then // аутентификация прошла успешно
else // аутентификация неуспешна. Можно давать вторую попытку итд.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 26.10.2010, 08:39   #4
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

Благодарю!!!!НО теперь у меня канает любой пользователь и пароль которых нету в списке)

Последний раз редактировалось MrMorozko; 26.10.2010 в 12:51.
MrMorozko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AnsiUpperCase(Edit1.Text); Шура Помощь студентам 3 01.12.2008 20:04
y=Edit1->Text ??? m.a.x.i.m Помощь студентам 8 31.03.2008 11:29
if edit1.text:='123'then ben95 Помощь студентам 5 28.01.2008 16:29
из edit1.text в stringgrid. fluer Общие вопросы Delphi 8 25.04.2007 11:23
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 19:02