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

Авторизация в программе через access

15.11.2015, 15:02. Показов 2310. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, есть база данных access в которой хранятся множество данных, есть 3 таблицы:
Учиник, Учитель, Администратор(в этих трех таблицах хранятся логины и пароли + другие данные) и есть форма в delphi на ней:
1 - ComBox где есть (предоставляет выбор Администратор, Учитель, Ученик).
2 - Edita (Ввод логина и пароля).
3 - Кнопка Button.
Как можно организовать авторизацию таким образом:
Если пользователь в ComboBox выбирает администратора вводит логин и пароль, если в базе access в таблице администратор есть такой пользователь открывается форма 2.
Если пользователь в ComboBox выбирает Учитель вводит логин и пароль, если в базе access в таблице Учитель есть такой пользователь открывается форма 3.
Если пользователь в ComboBox выбирает Ученик вводит логин и пароль, если в базе access в таблице Ученик есть такой пользователь открывается форма 4.
Может кто нибудь помочь в данной ситуации, может кто нибудь сталкивался с таким?
Миниатюры
Авторизация в программе через access   Авторизация в программе через access  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2015, 15:02
Ответы с готовыми решениями:

Авторизация через access
procedure TForm1.Button1Click(Sender: TObject); var log: String; begin log := ComboBox1.Text; with AdoQuery1, Parameters do...

Авторизация в Delphi 7 через Access БД
Добрый вечер, подскажите как сделать так, чтобы работала авторизация через access файл где указан логин и пароль. Суть программы в том,...

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

7
5967 / 4543 / 1094
Регистрация: 29.08.2013
Сообщений: 28,157
Записей в блоге: 3
15.11.2015, 16:21
может стоит сделать таблицу в которой хранится логин\пароль\какую форму открывать?

тогда на кнопку вход вешаете запрос вида

Delphi
1
 select user from TABLE where user=:us and password=:pa
в параметры пишите значение Логин\Пароль

далее проверяете
Delphi
1
2
3
4
5
if query.recordcount=1 then 
begin
showmessage('Пользователь существует')
if query.fields[0].asString='Администратор' then form2.show;
end else showmessage('Пользователь НЕ существует')
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
15.11.2015, 17:04
Цитата Сообщение от qwertehok Посмотреть сообщение
в параметры пишите значение Логин\Пароль
далее проверяете
Delphi
Выделить код
1
2
3
4
5
if query.recordcount=1 then
begin
showmessage('Пользователь существует')
if query.fields[0].asString='Администратор' then form2.show;
end else showmessage('Пользователь НЕ существует')
А если query.recordcount=5 и не 1 тогда какой сообщения ???
0
5967 / 4543 / 1094
Регистрация: 29.08.2013
Сообщений: 28,157
Записей в блоге: 3
15.11.2015, 21:18
Цитата Сообщение от xxbesoxx Посмотреть сообщение
А если query.recordcount=5 и не 1 тогда какой сообщения ???
в моем ПРИМЕРЕ никакого сообщения не будет
это же ПРИМЕР
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
15.11.2015, 21:46
Цитата Сообщение от qwertehok Посмотреть сообщение
в моем ПРИМЕРЕ никакого сообщения не будет
Да ? А что это
Delphi
1
2
3
if query.recordcount=1 then 
begin
showmessage('Пользователь существует')
При входе интересно почему начинается условия IF . если query.recordcount=5 тогда что ?

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от qwertehok Посмотреть сообщение
это же ПРИМЕР
Это пример можно назвать говнокод и можно выкладывать туда http://govnokod.ru/pascal



Добавлено через 9 минут
Я бы написал примерно так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TfrmMain.VxodSoft;
 var s: string;
begin
  With DM.myqryUsers do
  begin
  Close;
  SQL.Clear;
  s:= 'SELECT* FROM Users where  Lower(u_login)  ='+ QuotedStr(cbbLogin.text)+' and Lower(u_parol) ='+ QuotedStr(edtParol.text);
  SQL.Add(s);
  Open;
  if not DM.myqryUsers.IsEmpty then
  begin
     frmMain.Hide;
     frmpanel.Show;
    end
  else
   begin
    MessageDlg('Логин или пароль неправильный ',mtError,[mbOK],0)
   end;
  end;
Если Access там Lower не нужно
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
16.11.2015, 00:33
Цитата Сообщение от qwertehok Посмотреть сообщение
if query.recordcount=1 then
Если вы всё-таки продолжаете использовать свойство RecordCount абстрактное для класса, в котором оно введено, то тогда по крайней мере проверяйте его на больше/равно нулю.
А гарантированную проверку набора данных на пустоту осуществляют свойства IsEmpty (озвученный xxbesoxx) и Eof
0
5967 / 4543 / 1094
Регистрация: 29.08.2013
Сообщений: 28,157
Записей в блоге: 3
16.11.2015, 10:18
northener,
есть какие-то объективные причины для этого?
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
18.11.2015, 01:43
Цитата Сообщение от qwertehok Посмотреть сообщение
есть какие-то объективные причины для этого?
Причина в том что #2 ваши кривой код НЕ РАБОТАЕТ ПРАВИЛЬНО . Вы его писали для того что вас новичок добавил репутация . Вы так на обман новичков заработайте спасибо ! Не заслужено
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2015, 01:43
Помогаю со студенческими работами здесь

Access Авторизация в программе
Нужна помощь. Имеется база данных и программа. При входе в программе показывается окно авторизации, где пользователь вводит логин и пароль....

Работа с MS Access: авторизация в программе
Всем доброго времени суток и хорошего настроения! У меня вот какое дело. Есть база данных сделанная в Access, там несколько...

Исправить код в БД access (авторизация в программе)
Моя БД называется "Склад" на форме создала ComboBox (раскрывающийся список) Хотелось бы ,чтобы при выборе одного из элементов списка,...

Авторизация в программе через соц. сети
Доброго времени суток! Столкнулся с проблемой, нужно по нажатию иконки соц. сети в программе автоматические авторизовывать человека в ней....

Авторизация работника через БД на Access
Добрый день, нужна ваша помощь в реализации авторизации работника через бд, есть база данных Access, в таблице работников есть поля: Логин...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru