Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 22:00   #1
ivkinai76
Новичок
Джуниор
 
Регистрация: 20.02.2013
Сообщений: 1
По умолчанию Авторизация

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

Код программы:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
log,pass:string[20];
begin
log:=ComboBox1.Text;
pass:=Edit2.Text;
with Form1.ADOQuery1 do begin
close;
SQL.Clear;
SQL.Add('Select *');
SQL.Add('FROM users');
SQL.Add('WHERE ((log='''+log+''') AND (pass='''+pass+'''))');
Open;
end;
if ADOQuery1.RecordCount<>0 then
begin
if ADOQuery1.FieldByName('log').AsString = 'admin' then
  Form2.Show
else if ADOQuery1.FieldByName('log').AsString = 'user' then
  Form3.Show;
end
else begin
ShowMessage('Неправильно введено имя пользователя или пароль');
ComboBox1.Text:='';
Edit2.Text:='';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
ComboBox1.Items.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select log from users');
ADOQuery1.Open;
ADOQuery1.First;
for  i := 0 to ADOQuery1.RecordCount - 1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldByName('log').AsString);
ADOQuery1.Next;
end;
ADOQuery1.Close;

end;

end.
Может немного коряво. Но прошу заранее извинить-только учусь программировать.
Вопрос такой. Даже два.
1. Как сделать, чтобы при вводе правильного логина и пароля-окно авторизации закрывалось и оставалось только форма с базой данных.
2. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.02.2013 в 10:06.
ivkinai76 вне форума Ответить с цитированием
Старый 21.02.2013, 10:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
2. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки.
у вашего Edit2, куда Вы вводите пароль, есть свойство PasswordChar
присвойте ему нужный символ (ну, например, ту же звёздочку), получите то, что Вам нужно...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2013, 10:16   #3
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

я бы в users завел бульеновое поле Admin

и будет
if ADOQuery1.FieldByName('Admin').AsBo olean then


и кстати универсальный пароль будет ")) or((""="
подумай сам почему
это называется SQLInject и фиксится использованием параметров
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 21.02.2013 в 10:23.
Slym вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация Anton PHP 7 25.05.2012 23:54
Авторизация Fiber Visual C++ 1 14.03.2011 16:30
Авторизация Dron712 PHP 2 08.02.2011 20:17
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34