Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.11.2017, 11:37
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию Ищу помощи в создании авторизации

Код:
procedure TForm9.Button1Click(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT pass FROM avtor WHERE login='+#39+DBlookupComboBox1.Text+#39);
adoquery1.Open;
if adoquery1.IsEmpty
then
showmessage('Пользователь '+DBlookupComboBox1.Text+' не найден!')
else
if adoquery1.FieldByName ('pass').Value <> Edit2.Text
then
showmessage('Пароль не верный!')
else
Form3.show;
Form9.Visible :=false;
end;

вот так эта "красота" выглядит - проблема только в том что работать не могу заставить))))
когда запускаю приложение выбираю пользователя в DBlookupComboBox и ввожу пароль
выдает ошибку

DBLookupComboBox1: Field 'login' not found. - Как??
Ответить с цитированием
  #2  
Старый 29.11.2017, 11:46
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Поробуйте в запросе после SELECT или звездочку (* - выбрать всё) или через запятую поле login добавить - основы SQL
Цитата:
SELECT (выбрать) специфицированные поля
FROM (из) специфицированной таблицы
WHERE (где) некоторое специфицированное условие является истинным
Ответить с цитированием
  #3  
Старый 29.11.2017, 11:55
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Поробуйте в запросе после SELECT или звездочку (* - выбрать всё) или через запятую поле login добавить - основы SQL

Пробывал через
Код:
adoquery1.SQL.Add('SELECT * FROM avtor WHERE login='+#39+DBlookupComboBox1.Text+#39);
тогда пишет "Пользователь не найден"
Ответить с цитированием
  #4  
Старый 29.11.2017, 12:01
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

К чему DBlookupComboBox1 подключен, к какому полю, вероятно, для ввода пароля на сравнение нужен обычный эдит
Ответить с цитированием
  #5  
Старый 29.11.2017, 12:09
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
К чему DBlookupComboBox1 подключен, к какому полю, вероятно, для ввода пароля на сравнение нужен обычный эдит
Подключен к login!
Там изначально я ставил эдит но сейчас пытаюсь сделать чтоб не писать в ручную а через DBlookupComboBox выбирать имя пользователя которые в базе забиты.
Так можно сделать?
Ответить с цитированием
  #6  
Старый 29.11.2017, 12:12
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Можно, но тогда нужно две квери пользовать, в одной результат для сравнения, в другой будут пароли под список

З.Ы. Наверное, непонятно объяснил, сейчас попробую пример собрать

Последний раз редактировалось Alegun, 29.11.2017 в 12:14.
Ответить с цитированием
  #7  
Старый 29.11.2017, 12:16
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Можно, но тогда нужно две квери пользовать, в одной результат для сравнения, в другой будут пароли под список

Не понимаю как так сделать(((
Ответить с цитированием
  #8  
Старый 29.11.2017, 12:20
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Можно, но тогда нужно две квери пользовать, в одной результат для сравнения, в другой будут пароли под список

З.Ы. Наверное, непонятно объяснил, сейчас попробую пример собрать
Сделал вот так
Код:
adoquery1.SQL.Add('SELECT * FROM avtor WHERE login'+DBlookupComboBox1.Text);

Заработало)))) только не могу понять теперь как сделать так что-бы если пароль не совпадает то форма закрывалась и не висела в процессах?

Последний раз редактировалось Ekler1, 29.11.2017 в 12:25.
Ответить с цитированием
  #9  
Старый 29.11.2017, 12:44
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот пример
Вложения
Тип файла: zip Ekler1.zip (20.4 Кбайт, 3 просмотров)
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Ekler1 (29.11.2017)
  #10  
Старый 13.01.2018, 12:40
RedCatN1 RedCatN1 вне форума
Прохожий
 
Регистрация: 19.12.2017
Сообщения: 4
Версия Delphi: RAD studio
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ekler1
Сделал вот так
Код:
adoquery1.SQL.Add('SELECT * FROM avtor WHERE login'+DBlookupComboBox1.Text);

Заработало)))) только не могу понять теперь как сделать так что-бы если пароль не совпадает то форма закрывалась и не висела в процессах?
Вы имели ввиду приложение? Если да тогда нужно закрывать либо главную форму, либо делать Application.terminate
Ответить с цитированием
  #11  
Старый 03.02.2018, 16:53
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

С этим вопросом разобрался) Не подскажите как сделать что-бы если пароль не верный, то приложение не закрывалось
Ответить с цитированием
  #12  
Старый 03.02.2018, 17:07
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 280
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Ekler1
С этим вопросом разобрался) Не подскажите как сделать что-бы если пароль не верный, то приложение не закрывалось
Что за вопрос? Не закрывай его, оно и не будет закрываться...
Ответить с цитированием
  #13  
Старый 04.02.2018, 10:51
dimon753 dimon753 вне форума
Прохожий
 
Регистрация: 15.09.2017
Сообщения: 17
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Просто люди любят усложнять себе жизнь)
Ответить с цитированием
  #14  
Старый 04.02.2018, 17:55
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию Не люблю усложнять)))

Жизнь я себе не люблю усложнять, у меня в коде была строчка на закрытие приложения если пароль не правильный, я её убрал, и приложение скрывается и остается в процессах висеть(( вот что у меня не так(
Ответить с цитированием
  #15  
Старый 04.02.2018, 18:14
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Ekler1
...у меня в коде была строчка на закрытие приложения если пароль не правильный, я её убрал, и приложение скрывается и остается в процессах висеть(( вот что у меня не так(
Тогда уберите ещё и Form9.Visible :=false; а лучше после else добавьте блок begin..end на две строки
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Ekler1 (05.02.2018)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter