powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Логическая проблема программы
6 сообщений из 6, страница 1 из 1
Логическая проблема программы
    #34106548
mr. Eof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Заранее извиняюсь за несколько глупый вопрос, но всеравно, прошу вашей помощи.

Смысл в том, что есть форма сверяющая введенные значения с теми, что хранятся в таблице. Если совпадение есть то допускает к работе с БД, нет - выходит.
Некая аутентификация..

Ну так вот! Дело в том, что при правильно введенном логине и пароле - программа всеравно меня выбрасывает.. По коду получается, что переменная Flag, отвечающая за доступ, никогда не принимает значения 1.

Помогите пожалуйста.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CLOSE TABLES all

Flag =  0 

USE "Tables\access_table.dbf" ALIAS access_table
SELECT access_table
LoginNum = RECCOUNT()

FOR i =  1  TO LoginNum STEP  1 
	GOTO i
	IF ((thisform.text1.Value == access_table.Login) AND (thisform.text2.Value == access_table.Password))
		Flag =  1 
	ENDIF
ENDFOR

CLOSE TABLES all

IF Flag ==  1  THEN
	thisForm.Release
	DO FORM 'Forms\MainMenu.scx'
ELSE
	thisForm.Release
	CLOSE ALL
ENDIF

Большое спасибо!
...
Рейтинг: 0 / 0
Логическая проблема программы
    #34106560
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mr. EofЗдравствуйте.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CLOSE TABLES all

Flag =  0 

USE "Tables\access_table.dbf" ALIAS access_table
SELECT access_table

log = thisform.text1.Value
pas =thisform.text2.Value
select count(*) as Flag from  access_table a;
            where a.Login = pas and a.Password = pas;
            into cursor identif
sele idettif
  Flag = identif.Flag
  use

 CLOSE TABLES all

IF Flag ==  1  THEN
	thisForm.Release
	DO FORM 'Forms\MainMenu.scx'
ELSE
	thisForm.Release
	CLOSE ALL
ENDIF

Большое спасибо!

Попробуй так. Не отлаживал, если что поправь
...
Рейтинг: 0 / 0
Логическая проблема программы
    #34106566
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select count(*) as Flag from access_table a;
where a.Login = log and a.Password = pas;
into cursor identif

Есть косячок, поправил.
...
Рейтинг: 0 / 0
Логическая проблема программы
    #34106571
mr. Eof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы наверное опечатались: не sele idettif а sele identif , так как в противном случае показывает ошибку.

Ксожалению, даже исправив это, - не работает. Выражается в том, что при клике на кнопку он переводит на главную форму (т.е разрешает работу) при ЛЮБОМ логине или пароле.

Я - новичок в FoxPro, поэтому прошу еще совет. Спасибо!
...
Рейтинг: 0 / 0
Логическая проблема программы
    #34106572
mr. Eof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, все ок.
Спасибо!!!
...
Рейтинг: 0 / 0
Логическая проблема программы
    #34107001
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, опечатка.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Логическая проблема программы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]