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

Авторизация

06.01.2015, 14:18. Показов 796. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Это код на авторизацию. Код правильный, но вот после нажатия на кнопку я перехожу на главную форму, а если перейду назад в окно авторизации и введу логин и пароль, но пользователь не сменится, он останется прежним.

Как сделать что бы пользователь сменился?

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
procedure TForm1.btn1Click(Sender: TObject);
begin
Form1.ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT * FROM Avtorizacija WHERE login = :p_login AND parol = :p_passw';
  if (Form1.Edit1.Text <> '') and (Form1.Edit2.Text <> '')
  then
  begin
    ADOQuery1.Parameters.ParamByName('p_login').Value := Form1.Edit1.Text;
    ADOQuery1.Parameters.ParamByName('p_passw').Value := Form1.Edit2.Text;
    try
      ADOQuery1.Open;
 
    Except
      ShowMessage('Не удалось открыть таблицу пользователей');
      Exit;
    end;
    if ADOQuery1.RecordCount > 0
    then
    begin
      ShowMessage('Вход успешно выполнен');
    Form1.Visible := False;
      Form2.Visible := True;
case ADOQuery1.FieldByName('dostup').AsInteger  of
0:begin
Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
1:begin
  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
2:begin
  Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
3:begin
  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
end;
    end;
    end
    else
    begin
      ShowMessage('Неверный логин или пароль.Повторите ввод');
      Form1.Edit1.Text := '';
      Form1.Edit2.Text := '';
    end;
  end
  else
    ShowMessage('Пустые поля логин\пароль не допускаются');
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.01.2015, 14:18
Ответы с готовыми решениями:

Авторизация
Есть таблица с пользователями и паролями, форма для авторизации, как правильно будет при выборе определённого пользователя показывать...

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

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

5
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
06.01.2015, 15:25
Цитата Сообщение от bubles Посмотреть сообщение
но пользователь не сменится
Как ты это опеделяешь?
0
 Аватар для virtual[ity]
165 / 143 / 66
Регистрация: 05.06.2010
Сообщений: 641
06.01.2015, 15:26
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
25
26
27
BEGIN
try
 UsersSQL.SQL.Clear;                            // Делаем выборку и смотрим все ли ок с коннектом
 UsersSQL.SQL.Text:= 'SELECT * FROM Users';
 UsersSQL.Open;
except
 MessageBox(Handle, 'Возможные причины: ' +#13#10+ '- отсуствие подключения к сети' +#13#10+ '- файл БД отсутствует' +#13#10+ 'Обратитесь к администратору', 'Ошибка выборки данных', (MB_OK + MB_ICONERROR));
Exit; // Выходим из процедуры если не все ок сообщив об этом пользователю 
end;
 
UsersSQL.First;  // Ставим на первую запись                  
 while not UsersSQL.Eof do // Пока не достигли последней записи
  begin
   if (Trim(LoginEdit.Text) = UsersSQL.FieldByName('Login').AsString) AND (Trim(PasswordEdit.Text) = UsersSQL.FieldByName('Password').AsString) then  // Сравниваем логин и пароль 
    begin
     MainForm.LoginLabel.Caption:= 'Пользователь: ' + UsersSQL.FieldByName('Login').AsString;; // Покажем в лабеле какой пользователь
     MainForm.FIOLabel.Caption:= 'ФИО: ' + UsersSQL.FieldByName('FIO').AsString; // Покажем его имя в лабеле
    end;
     LogOnForm.Hide; // Спрячем форму ввода лог/пасс
     MainForm.Show; // Покажем рабочую форму
     Break; // Завершим цикл
    end;
   UsersSQL.Next; // Переход на следующую запись
  end;
END;
 
END.
Попробуй while пробегать по таблице пользователей, я не думаю что у тебя их будет 50000, так что скорость приемлемая должна быть.

Я думаю он определяет это по доступу, а точнее по баттонам которые должны показаться или скрыться! Верно?
0
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 42
06.01.2015, 16:01  [ТС]
По кнопках которые скрыты, каждый пользователь может редактировать только определенные таблицы

Добавлено через 3 минуты
Сама не понимаю ошибку, почему пользователь сменится не может.
ведь кот на авторизацию мой верный
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
06.01.2015, 16:17
Цитата Сообщение от bubles Посмотреть сообщение
По кнопках которые скрыты
Так а активировать кнопки, которые были скрыты при предидущей авторизации кто будет?)
1
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 42
06.01.2015, 16:35  [ТС]
Так все просто оказалось, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.01.2015, 16:35
Помогаю со студенческими работами здесь

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

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

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

Авторизация
База данных сделана в MS ACCESS. Оболочка под нее в Дельфи. При запуске происходит запрос на авторизацию. Выбирается режим входа в...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru