C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Поиск в базе
DrilLer
Отправлено: 21.07.2003, 21:51


Ученик-кочегар

Группа: Участник
Сообщений: 10



Народ как зделать поиск по полю как к примеру в екселе
т.е. я хочу найти букву Ф и поиск перескакивает к каждой записи где есть заданная комбинация.

Щас пользую так
Query2->SQL->Clear();
Query2->SQL->Add("SELECT * FROM base WHERE N_dog LIKE '%"+Edit1->Text+"'");
Query2->ExecSQL();

но ето не то он находит первое совпадение комбинацию и всё а дальше искать не хочет
Admin
Отправлено: 21.07.2003, 22:12


Владимир

Группа: Администратор
Сообщений: 1190



Вместо:

QUOTE

Query2->ExecSQL();


пишите

CODE

Query2->Open();


так как ExecSQL(); возвращает 1 запись.

Отредактировано Admin — 21/07/2003, 23:15
DrilLer
Отправлено: 21.07.2003, 22:16


Ученик-кочегар

Группа: Участник
Сообщений: 10



Что то не работает эфект тотже sad.gif
Admin
Отправлено: 21.07.2003, 22:39


Владимир

Группа: Администратор
Сообщений: 1190



CODE

Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add("SELECT * FROM base WHERE N_dog LIKE '%"+Edit1->Text+"%'");
Query2->Open();

while(!Query2->Eof){
   ... = Query1->Fields->Fields[0]->Value;
   ... = Query1->Fields->Fields[1]->Value;
   ...
   Query2->Next();
    }



или смотрите результат в отдельном DBGrid
(свяжите его с Query2)
Admin
Отправлено: 21.07.2003, 22:52


Владимир

Группа: Администратор
Сообщений: 1190



Да, не забудьте у компонента IBDatabase
указать CharacterSet = WIN1251
(щелчок правой кнопкой мыши на компоненте
и в DatabaseEditor выпадающий список с CharacterSet)
DrilLer
Отправлено: 22.07.2003, 00:15


Ученик-кочегар

Группа: Участник
Сообщений: 10



Встречный вопрос вот через Table можно было искать так
Table1->FindNearest(ARRAYOFCONST((Edit1->Text)));

Есть ли что нить подобное в
TIBTable ?
Admin
Отправлено: 22.07.2003, 15:21


Владимир

Группа: Администратор
Сообщений: 1190



Locate(), LocateNext()
Samual
Отправлено: 24.09.2003, 22:41


Дежурный стрелочник

Группа: Участник
Сообщений: 39



Вот и я с админом согласен...
Делай так:!

CODE

TLocateOptions so;
Query1->Locate(''field", "suck me", so);

Вернуться в Работа с базами данных в C++Builder