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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.04.2009, 10:27
goodwinrock goodwinrock вне форума
Прохожий
 
Регистрация: 09.01.2009
Сообщения: 37
Репутация: 10
По умолчанию Пароль на БД

Здравствуйте уважаемые знатоки Делфи.
Подскажите как сделать использование учетных записей. Т.е. при вводе в Edit1 (Имя) и Edit2 (пароль), и имя, пароль верны, должно происходить событие, например открытие формы программы. Мне нужно всего две учетные записи.
Ответить с цитированием
  #2  
Старый 15.04.2009, 10:51
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Для какой базы?
Ответить с цитированием
  #3  
Старый 16.04.2009, 09:16
goodwinrock goodwinrock вне форума
Прохожий
 
Регистрация: 09.01.2009
Сообщения: 37
Репутация: 10
По умолчанию

БД Paradox, мне всего лишь необходимо 2-е учетные записи, чтобы когда мы ввели имя и пароль первой уч. записи выскакивала форма2, а при активации второй уч. записи - форма 3.
Ответить с цитированием
  #4  
Старый 16.04.2009, 10:22
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Сделай таблицу с полями login, pass, Form_name ну и заполни ее.
В проекте сделай 3 формы.
В первой форме поля ввода пароля и логина, подключение к базе, кнопка. Ну и в обработчике Database1 BeforeConnect (или onClick у ккнопки)
Код:
 
Table1.Active:=True;
if Table1.Locate('Login;Pass',VarArrayOf([Edit1.text,Edit2.Text]),[]) = True then
 Form_name.Show
 else
  ShowMessage('Неправильный логин/пароль!');
как- то так
Ответить с цитированием
  #5  
Старый 16.04.2009, 11:19
goodwinrock goodwinrock вне форума
Прохожий
 
Регистрация: 09.01.2009
Сообщения: 37
Репутация: 10
По умолчанию

Окей. а где идет раздиление на пароли (т.е. у меня получилось юзать оба пароля, но открывать только одну форму? я создал таблицу 1 и вней две записи
Login _____| ___Pass
magazin ___ admin
serv ___ admin
Ответить с цитированием
  #6  
Старый 16.04.2009, 11:52
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Цитата:
Сообщение от goodwinrock
Окей. а где идет раздиление на пароли (т.е. у меня получилось юзать оба пароля, но открывать только одну форму? я создал таблицу 1 и вней две записи
Login _____| ___Pass
magazin ___ admin
serv ___ admin

Сделай в таблипце еще поле Form_name
Login | Pass | Form_Name
magazin | admin | Form2
serv | admin | Form3
т.е. логину Magazin будет соответствовать Form2, а serv - Form3

Объяви переменную Form_Name:TForm;
Код:
if Table1.Locate('Login;Pass',VarArrayOf([Edit1.text,Edit2.Text]),[]) = True then
 begin  
// присваиваем пер-ой Form_name имя Формы из таблицы
 Form_name.Name:=Table1.FieldByName('Form_Name').AsString;
 Form_name.Show
 end
 else
  ShowMessage('Неправильный логин/пароль!');

Последний раз редактировалось TOJluK, 16.04.2009 в 11:56.
Ответить с цитированием
  #7  
Старый 17.04.2009, 09:44
goodwinrock goodwinrock вне форума
Прохожий
 
Регистрация: 09.01.2009
Сообщения: 37
Репутация: 10
По умолчанию

Код:
if Table1.Locate('Login;Pass',VarArrayOf([Edit1.text,Edit2.Text]),[]) = True then
 begin  
// присваиваем пер-ой Form_name имя Формы из таблицы
 Form_name.Name:=Table1.FieldByName('Form_Name').AsString;
 Form_name.Show
 end
 else
  ShowMessage('Неправильный логин/пароль!');
[/quote]

Объявил переменную, создал поле Form_name, заполнил соответсвенно.В этом коде я лишь указал свою таблицу вместо Table1. Неработает пишит ошибку access violation at address in model Project 1 (нарушение доступа по адресу в проэкте).
Ответить с цитированием
  #8  
Старый 17.04.2009, 10:58
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Извини, я тупанул... Хотелось как лучше- получилось как всегда! )))
Вообщем сделай пока через IF. Типа:
Код:
if Table1.Locate('Login;Pass',VarArrayOf([Edit1.text,Edit2.Text]),[]) = True then
 begin  
 if Table1.FieldByName('Form_Name').AsString = 'Form2' then
  Form2.Show;
 if Table1.FieldByName('Form_Name').AsString = 'Form3' then
  Form3.Show;
 end
 else
  ShowMessage('Неправильный логин/пароль!');

Последний раз редактировалось TOJluK, 17.04.2009 в 11:01.
Ответить с цитированием
  #9  
Старый 17.04.2009, 12:00
goodwinrock goodwinrock вне форума
Прохожий
 
Регистрация: 09.01.2009
Сообщения: 37
Репутация: 10
По умолчанию

Работает, спасибо большое Толик
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter