Добрый день, помогите как вернее написать код.. Если же пользователь не верно ввел логин/пароль, то выдает cсообщение "Ошибка!" она повторяется несколько раз. Связано с базой данных Access, помогите пожалуйста
Т.к. я уже ломаю голову... Я новичок... Хоть где то дописать код или отредактировать...
P.S. Когда ввожу правильный логин и пароль, и она сразу выдает сообщение "Ошибка!" (и опять снова повторяется несколько раз) и открывается новая форма. Заранее буду благодарен!
Код:
procedure TForm16.BitBtn1Click(Sender: TObject);
var LogPass: array of string;
i, h, Counts:integer;
ResultLoginPassword:string;
begin
if (Length(Trim(Edit1.Text)) = 0) or (Length(Trim(Edit2.Text)) = 0) then
begin
MessageBox(Handle, 'Обязательные поля не заполнены!', 'Ошибка!', mb_OK + mb_ICONWARNING);
end;
SetLength(LogPass, 255);
ADODataSet1.Active:=true;
ADODataSet1.First;
for i:=0 to ADODataSet1.RecordCount - 1 do //Обработка данных Логина и Пароля пользователя
begin
LogPass[i]:=ADODataSet1.FieldValues['UserName']+' '+ADODataSet1.FieldValues['UserPass'];
ADODataSet1.Next;
inc (Counts);
end;
ResultLoginPassword:=Trim(Edit1.Text)+' '+Trim(Edit2.Text);
for h:=0 to Counts do //Цикл проверки данных на истину
begin
if ResultLoginPassword = LogPass[h] then //Номер порядковый в базы данных Access,
//который пользователь вводит Логин и Пароль
begin
UserIndex:=h;
Form18.Show;
Form16.Close;
end
else
begin
MessageBox (handle, 'Неверный логин или пароль!', 'Ошибка!', mb_ok + MB_ICONERROR); //повторяется несколько раз
end;
end;
end;