Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
evgenii0016
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 68
1

Ввод логина и пароля при запуске программы

12.05.2016, 01:18. Просмотров 1805. Ответов 1
Метки нет (Все метки)

Нужно что бы при включении программы сначала было окно с вводом логина и пароля для доступа.
Сделал 2 формы, 1 основная, вторая для авторизации и написал такой код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Form2:= TForm2.Create(Application);
  if Form2.ShowModal = mrOk then begin
   lg:=edit1.Text;
psw:=idEncoderXXE1.Encode(edit2.text);
s:=('select * from admin where login ='+WideChar($0027)+lg+WideChar($0027)+'and pasword='+WideChar($0027)+psw+WideChar($0027)+';');
ADOQuery1.Active :=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s);
ADOQuery1.ExecSQL;
ADOQuery1.Open;
   if ADOQuery1.Recordset.RecordCount=0 then  showMessage('Неверный логин или пароль')
    else begin  ModalResult := mrOK;
    Form2.Hide;
    Form2.Free; end;
   end
  else
    Application.Terminate
end;
А дальше запутался, не могу понять как реализовать разрешении при верном вводе данных, сейчас независимо от правильности ввода данных открывается первая основная форма.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2016, 01:18
Ответы с готовыми решениями:

Автоматический ввод пароля и логина в базе
На базу данных в access на открытие можно поставить логин и пароль. Подскажите как сделать так...

Отключить ввод логина и пароля без компоненты Database
Не могу избавиться от авторизации при каждом входе, Обычно, используя database, где достаточно было...

Как отключить запрос логина и пароля при подключении к базе через sql server native client 10.1?
вопрос в теме. через параметр loginprompt в adoconnection не получается отключиь

Проверка логина и пароля
procedure TActiveFormTUZ.btn6Click(Sender: TObject); var i: Integer; begin // проверили ...

Создание логина и пароля
Здравствуйте. Нужна помощь в создании логина и пароля. То есть чтобы выскакивала Form2 с просьбой...

1
krapotkin
4062 / 3388 / 1149
Регистрация: 14.04.2014
Сообщений: 16,229
Записей в блоге: 17
12.05.2016, 07:59 2
1. для начала убрать ExecSQL
2. делать это надо так:
в FormCreate главной формы (лучше это делать в конструкторе главной формы, ну да ладно...)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
loginForm:=TLoginForm.Create(nil);
res:=mrCancel;
logged:=false;
try
repeat
  res:=loginForm.ShowModal;
  if res = mrOK then
  begin
    log:=loginForm.eLogin;
    pass:=loginForm.ePass;
    logged := LoginCorrect(log, pass);
  end;
until (res<>mrOk)or(logged);
if res<>mrOk then
    application.terminate
else
if not logged then
begin
  showMessage('пароль не опознан');
  application.terminate;
end; 
finally
  loginForm.free;
end;
3. ну и как всегда. не валите в кучу функционал и интерфейс
выделите функцию LoginCorrect
она не должна ничего делать или выдавать на экран, только проверять пароль

Delphi
1
2
3
4
5
6
7
8
9
10
11
function TForm1.LoginCorrect(log, pass:string):boolean;
var s,psw:string;
begin
  ADOQuery1.close;
  psw:=idEncoderXXE1.Encode(pass);
  s:=('select count(*) as C from admin where login ='''+lg+''' and pasword='''+psw+'''');
  ADOQuery1.SQL.Text:=s;
  ADOQuery1.Open;
  result := ADOQuery1.FieldByName('C').asinteger<>0;
  ADOQuery1.Close;
end;
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2016, 07:59

Запоминание логина и пароля?
Здравствуйте! Есть форма с эдитами (логин, пароль), и кнопка подключиться. Как мне сделать...

Как можно убрать окно запроса пароля Database Login при запуске?
Как можно убрать окно запроса пароля Database Login при запуске приложения если логина и пароля...

Авторизация с проверкой логина и пароля
Здравствуйте. Пытаюсь сделать авторизацию с проверкой логина и пароля. Данные находятся в Access в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.