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

Распознавание зашедшего в программу

30.05.2013, 13:47. Показов 525. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые обитатели форума, делаю прогу для диспетчера, препод не может помочь с решением проблемы, помогите пожалуйста!

Собственно суть:
У программы сделана регистрация диспетчеров, но кто именно зашел не показывает (хотелось чтобы ФИО диспетчера выводилось на главной форме в caption) и в форме "открыть путевой лист(FormOpen)" в edit'е диспетчер;
В этой же форме есть DBlookComboBox с номером задания, чтобы при выборе определенного номера, в строку с этим номером в столбец "состояние задание" добавлялся текст 'Выполняется', в форму задания(FormZadania).
Вложения
Тип файла: rar proga-Dispetcher.rar (1.44 Мб, 18 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2013, 13:47
Ответы с готовыми решениями:

Узнать имя пользователя зашедшего на сайт
Смысл в чем, в фирме небольшой локальный сайт, работник заходит на сайт и на страничке сразу должно...

Как узнать имя пользователя зашедшего на сайт
Здравствуйте. Подскажите как мне получить имя того, кто зашел на сайт. Т.е.: если зашел...

Получить ip имя Гостя зашедшего в расшаренную папку
Подскажите куда копать? Нужно получить ip, имя зашедшего в мою расшаренную папку. static void...

Как узнать логин пользователя зашедшего на сайт?
Как узнать логин пользователя зашедшего на сайт и поместить его в текстовое поле?

6
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
30.05.2013, 15:32 2
Цитата Сообщение от ben1sy Посмотреть сообщение
хотелось чтобы ФИО диспетчера выводилось на главной форме в captionи в форме "открыть путевой лист(FormOpen)" в edit'е диспетчер
Удобнее изменить проверку введенных логина и пароля:
SQL
1
SELECT [ФИОдиспетчера] FROM [Users] WHERE [UserName]=:param1 AND [UserPass]=:param2
где param1 и param2 введенные пользователем логин и пароль. Если все правильно - то в выборке будет одна запись (ну если логины и пароли не посторяются), если пусто - то пользователь ввел неправильные данные.
И не нужно бегать по всей базе и сравнивать.

А далее из любой части программы можно получить значение этого [ФИОдиспетчера]. Например, перед открытием FormGeneral:
Delphi
1
2
3
4
5
...
FormGeneral.Caption:=ADODataSetUserTable.FieldValues['ФИОдиспетчера'];
FormOpen.EditDisp.Text:=ADODataSetUserTable.FieldValues['ФИОдиспетчера'];
FormGeneral.Show;
...
1
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 15
30.05.2013, 16:19  [ТС] 3
Значение [ФИОдиспетчера] рабатают и в caption и edit показывает, но я не могу сделать проверку пароля, то есть при любом Логине можно зайти без пароля.

вот код
procedure TFormAutor.BitBtnEnterClick(Sender: TObject);

var
param1,param2:string;

begin
param1:=DBLookupComboBox1.Text;
param2:=EditPassword.Text;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT [ФИОдиспетчера] FROM [Users] WHERE [UserName]=:param1 AND [UserPass]=:param2');
ADOQuery1.Open;

if ADODataSetUserTable.Recordset.RecordCount > 0 then
begin
ShowMessage('Вы вошли');
FormGeneral.Show;
end
else ShowMessage('Неправильно введены Логин и Пароль');

FormGeneral.Caption:=ADODataSetUserTable.FieldValues['ФИОдиспетчера'];
FormOpen.EditDisp.Text:=ADODataSetUserTable.FieldValues['ФИОдиспетчера'];
FormGeneral.Show;

end;
0
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
30.05.2013, 16:35 4
ben1sy, вы значения не присвоили параметрам перед тем, как делаете Open:
Delphi
1
2
3
4
5
...
ADOQuery1.Parameters.ParamByName('param1').Value:=EditLogin.Text; //В той версии, что вы сбрасывали нет DBLookUpComboBox
ADOQuery1.Parameters.ParamByName('param2').Value:=EditPassword.Text;
ADOQuery1.Open;
...
а объявление переменных и присвоение им значений - это не нужно:
Delphi
1
2
3
4
5
var
param1,param2:string;
//и
param1:=DBLookupComboBox1.Text;
param2:=EditPassword.Text;
1
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 15
30.05.2013, 17:05  [ТС] 5
Сделал как ты сказал
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TFormAutor.BitBtnEnterClick(Sender: TObject);
begin
ADOQuery1.Parameters.ParamByName('param1').Value:=DBLookupComboBox1.Text;
ADOQuery1.Parameters.ParamByName('param2').Value:=EditPassword.Text;
ADOQuery1.Open;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT [ÔÈÎäèñïåò÷åðà] FROM [Users] WHERE [UserName]=:param1 AND [UserPass]=:param2');
ADOQuery1.Open;
 
if ADODataSetUserTable.Recordset.RecordCount > 0 then
begin
ShowMessage('Âû âîøëè');
FormGeneral.Show;
end
else ShowMessage('Íåïðàâèëüíî ââåäåíû Login Pass. Ïîæàëóéñòà, ïðîéäèòå ðåãèñòðàöèþ');
 
FormGeneral.Caption:=ADODataSetUserTable.FieldValues['ÔÈÎäèñïåò÷åðà'];
FormOpen.EditDisp.Text:=ADODataSetUserTable.FieldValues['ÔÈÎäèñïåò÷åðà'];
FormGeneral.Show;
 
end;
но результат не изменился(((
0
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
30.05.2013, 17:08 6
DataSetUser
Цитата Сообщение от ben1sy Посмотреть сообщение
Сделал как ты сказал
нет.
Delphi
1
2
3
4
5
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT [ФИОдиспетчера] FROM [Users] WHERE [UserName]=:param1 AND [UserPass]=:param2');
ADOQuery1.Parameters.ParamByName('param1').Value:=DBLookupComboBox1.Text;
ADOQuery1.Parameters.ParamByName('param2').Value:=EditPassword.Text;
ADOQuery1.Open;
А дальше?
Delphi
1
2
3
4
5
6
7
8
if ADOQuery1.Recordset.RecordCount > 0 then
begin
   ShowMessage(Вы вошли');
   FormGeneral.Caption:=ADOQuery1.FieldValues['ФИОдиспетчера'];
   FormOpen.EditDisp.Text:=ADOQuery1.FieldValues['ФИОдиспетчера'];
   FormGeneral.Show;
end
else ShowMessage('Неправильно введены Логин и Пароль');
1
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 15
30.05.2013, 18:04  [ТС] 7
Большое спасибо, теперь работает!!
0
30.05.2013, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2013, 18:04
Помогаю со студенческими работами здесь

VK API: узнать id посетителя сайта, зашедшего на страницу
Здравствуйте, как по api вк можно узнать id пользователя зашедшнго на страницу? Наример я захожу и...

Как узнать имя хоста, зашедшего на мой сайт ?
ув. АЛЛ, как узнать имя хоста, зашедшего на мой сайт ? (из РХР ИНФО взял ИП адрес хоста а вот имя...

Как вывести ввиде текста IP адрес компьютера, зашедшего на сайт
Всем привет. Такой вопрос: как можно узнать IP человека вошедшего на сайт? как например на сайте...

Как определить ip адрес пользователя, зашедшего на сайт?...если сайт лежит на локальной машинке
Уважаемые коллеги, подскажите: как определить ip адрес пользователя, зашедшего на сайт?...если...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru