Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
1

Авторизация

11.05.2016, 12:29. Показов 1063. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть таблица с пользователями и паролями, форма для авторизации, как правильно будет при выборе определённого пользователя показывать запросом лишь то,что он должен видеть
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 12:29
Ответы с готовыми решениями:

Авторизация в БД
Такой вопрос, на форме в Edit вводится пароль и он должен проверяться на соответствие пароля в БД...

Авторизация
Здравствуйте, у меня программа была готова без авторизации, потом я добавил её и поставил чтоб...

Авторизация
Всем здравствуйте! У меня такая проблема - в БД Аксеса одна таблица, где хранится логин, пароль и...

Авторизация в БД
Всем доброго времени суток! Пытаюсь реализовать процесс авторизации пользователя, но программа...

18
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
11.05.2016, 12:30 2
совсем правильно?
или более менее?
или на уровне начинающего?
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
11.05.2016, 13:09  [ТС] 3
Чтобы правильно работало)можно начать с уровня начинающего,пожалуйста
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
11.05.2016, 13:14 4
а вы уже определились как определить что он должен видеть, а что нет?
есть организации в которых и админ то не должен видеть всего
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
11.05.2016, 13:21  [ТС] 5
да, у меня всё тут просто, есть 5 подразделений, и каждый может видеть лишь своё, при введении новой записи выбор подразделения идёт. Хотелось бы так, логин/пароль верный , например, для первого подразделения, значит запросом видимо отбор записей,которые относятся к первому подразделению
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
11.05.2016, 13:36 6
отлично
при вводе логина\пароля определяете подразделение
на открытие таблицы с подразделениями пишите запрос

Delphi
1
2
query.sql.text:='select * from T where podr='+inttostr(p);
query.open;
где в переменной у вас подразделение
запрос отберет только нужное
1
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
11.05.2016, 13:45  [ТС] 7
то есть, логин/пароль, и запрос на кнопку Вход, буду пробовать, спасибо
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
12.05.2016, 14:51  [ТС] 8
не получается, не допоняла видимо.
Запускаю приложение, появляется форма авторизации, выполняю
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TAvtoriz.BitBtn1Click(Sender: TObject);
var SQL: string;
begin
SQL:= 'Select * from sets WHERE res ='+ QuotedStr(DBLookupLogin.Text)+' and password ='+ QuotedStr(Edit_Password.Text);
DataM.SetsQuery.Close;
DataM.SetsQuery.SQL.Text:=SQL;
DataM.SetsQuery.Open;
 if not DataM.SetsQuery.IsEmpty then
begin
  Avtoriz.Hide;
  MainForm.Show;
  end
else
 begin
 MessageDlg('Неверный логин или пароль',mtError,[mbOK],0)
 end;
end;
При корректном входе появляется форма с гридом, куда просто подключён Query c запросом. Мне на появлении формы вешать запрос в зависимости от входа после авторизации?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TMainForm.FormCreate(Sender: TObject);
var SQL: string;
begin
  if  Avtoriz.DBLookupLogin.Text='ЛРЭС' then
  begin
  DataM.Query.Close;
  DataM.Query.SQL.Clear;
  SQL := 'select * from urf  where code_res=2';
  DataM.Query.SQL.Text := SQL;
  DataM.Query.Open;
  end;
end;
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
12.05.2016, 15:13 9
Цитата Сообщение от Korulik Посмотреть сообщение
Мне на появлении формы вешать запрос
как тебе удобно

заведи себе какой-то контейнер для переменных - например стринглист и пиши туда имя пользователя\пароль и другие данные, а все компоненты сразу очищай
это позволит тебе не думать о том где хранится то или иное значение.
например открылась форма 50 и тебе нужно проверить логин\пароль и ты лезешь на первую форму за данными.
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
12.05.2016, 15:56  [ТС] 10
qwertehok, хорошо, об этом подумаю, но пока в таком виде не получается запрос переоткрыть именно мой

Добавлено через 31 минуту
Delphi
1
if  Avtoriz.DBLookupLogin.Text='ЛРЭС' then
не воспринимает походу, без условия тупо меняет запрос
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
12.05.2016, 16:08 11
Цитата Сообщение от Korulik Посмотреть сообщение
не воспринимает походу, без условия тупо меняет запрос
ничего не понял
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
12.05.2016, 16:18  [ТС] 12
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TMainForm.FormCreate(Sender: TObject);
var SQL: string;
begin
  if  Avtoriz.DBLookupLogin.Text='ЛРЭС' then
  begin
  DataM.Query.Close;
  DataM.Query.SQL.Clear;
  SQL := 'select * from urf code_res=2';
  DataM.Query.SQL.Text := SQL;
  DataM.Query.Open;
  end;
вот так ничего не происходит,
Delphi
1
2
3
4
5
6
DataM.Query.Close;
  DataM.Query.SQL.Clear;
  SQL := 'select * from urf where code_res=2';
  DataM.Query.SQL.Text := SQL;
  DataM.Query.Open;
  end;
вот так запрос работает
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
16.05.2016, 16:44  [ТС] 13
Если пишу уловие
Delphi
1
if  Avtoriz.DBLookupLogin.Text='ЛРЭС' then
то ничего не происходит, если без условия
Delphi
1
2
3
4
5
6
  DataM.Query.Close;
  DataM.Query.SQL.Clear;
  SQL := 'select * from urf where code_res=2';
  DataM.Query.SQL.Text := SQL;
  DataM.Query.Open;
  end;
то показывает данные по запросу при авторизации
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
16.05.2016, 16:50 14
-когда я делаю вот так у меня тут хрустит
-а ты не делай
-как же я могу не делать, если хрустит
(с) смешарики

вопрос то в чем?
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
16.05.2016, 17:14  [ТС] 15
как правильно написать условие - РАБОЧЕЕ, чтобы при выборе
Delphi
1
if  Avtoriz.DBLookupLogin.Text='ЛРЭС' then
работал запрос
Delphi
1
2
3
4
5
6
DataM.Query.Close;
  DataM.Query.SQL.Clear;
  SQL := 'select * from urf where code_res=2';
  DataM.Query.SQL.Text := SQL;
  DataM.Query.Open;
  end;
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
16.05.2016, 17:17 16
проверь что у тебя в Avtoriz.DBLookupLogin.Text
используй ShowMessage(Avtoriz.DBLookupLogin.Text);
0
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
17.05.2016, 09:50  [ТС] 17
в Avtoriz.DBLookupLogin.Text там список выпадающий, столбец с таблицы, логины
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,594
Записей в блоге: 3
17.05.2016, 10:01 18
повесь Showmessage на кнопку и проверяй

у тебя же условие не проходит, значит что-то там не так. вот и выясняй
1
0 / 0 / 1
Регистрация: 29.12.2015
Сообщений: 131
17.05.2016, 10:48  [ТС] 19
qwertehok, да, спасибо, выяснила уже)
0
17.05.2016, 10:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2016, 10:48
Помогаю со студенческими работами здесь

Авторизация
Здраствуйте! В общем делаю авторизацию. И как бы она работает. Но когда я добавил шифрование...

Авторизация
Здравствуйте! Это код на авторизацию. Код правильный, но вот после нажатия на кнопку я перехожу на...

Авторизация
Проконсультируйте как, организовать авторизацию с проверкой логина и пароля из таблици.

Авторизация
Всем привет. В общем, есть авторизация procedure TForm1.BitBtn1Click(Sender: TObject); begin...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru