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

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

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2017, 23:53   #1
BlackGold
 
Аватар для BlackGold
 
Регистрация: 12.12.2016
Сообщений: 8
По умолчанию Поиск полей TADOTABE

Всем привет!
Программа находит логин и пароль только в первом поле в таблице, а нужно что бы все находил.(Форма Аутентификации: логин и пароль)
Помогите понять где проглядел! Использую только TADOTable
Спасибо!
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 bool found = false;
	Ttable->First();
	for(int i = 0; i < Ttable->RecordCount; i++){
		if(Ttable->FieldByName("username")->AsString.LowerCase() == ELogin->Text.LowerCase())
			if(Ttable->FieldByName("password")->AsString == EPassword->Text){
				found = true;
				break;
			}

	}
	if(found){
	  Form2->LWellcome->Caption = "Wellcome from Pentagon\n" + ELogin->Text + "!";
	  Form2->ShowModal();
	}
}

Последний раз редактировалось BlackGold; 23.02.2017 в 00:01.
BlackGold вне форума Ответить с цитированием
Старый 25.05.2017, 22:25   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от BlackGold Посмотреть сообщение
for(int i = 0; i < Ttable->RecordCount; i++){
if(Ttable->FieldByName("username")->AsString.LowerCase() == ELogin->Text.LowerCase())
if(Ttable->FieldByName("password")->AsString == EPassword->Text){
found = true;
break;
}
Вот тут и проглядел. Такой Цикл не будет Вам перемещать курсор по таблице. Курсор в таблице так и останется на первом элементе.

Нормально такие обходы организуются кодом:

Код:
Ttable->First();
while (!TTable.Eof){

// тут выполняем действия

TTable.Next();
}
А если совсем идеально - такие вещи делаются с помощью SQL-запросов. И ради безопасности - не на клиенте, а хранимой процедурой на сервере БД
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск совпадающих значений полей в 2-х таблицах wsv515 БД в Delphi 19 24.05.2012 17:04
поиск или фильтрация подставных полей killas966 БД в Delphi 2 06.12.2010 13:32
Поиск в БД с выбором полей IvaNNN Помощь студентам 3 04.11.2010 11:01
Поиск данных в БД от двух и более полей Talemir БД в Delphi 5 20.11.2009 16:58
Поиск полей в БД Chrom БД в Delphi 2 23.09.2008 12:38