Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в записи БД Paradox, Организация поиска и фильтрации записей 
:(
    Опции темы
Stentor
Дата 12.3.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



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

Необходимо:
1. Организовать поиск записи в БД
2. Организовать фильтрацию по нескольким признакам

БД представляет из себя список сотрудников фирмы и стандартные данные о них (возраст, адрес, телефон и т.д.)

Подскажите, пжлст, с чего начать!!!

PM MAIL   Вверх
Ctrl_Alt_Del
Дата 12.3.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 11.3.2006
Где: Ставрополь

Репутация: 2
Всего: 2



Насколько я понял у тебя всего одна таблица. Используй TTable.

Цитата

1. Организовать поиск записи в БД


Методы Locate и FindNearest.

Например:
Код

Table1->Locate("Name","Jack London",TLocateOptions() << loCaseInsensitive);


Цитата

2. Организовать фильтрацию по нескольким признакам


Свойства Filter и Filtered

Например:
Код

Table1->Filter="age>18";
Table1->Filtered=true;

PM MAIL ICQ   Вверх
Stentor
Дата 12.3.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



Отлично! Работает!

Вопрос:

Пользователь вводит в Edit1 фамилию сотрудника – допустимо ли использовать для поиска следующий код:

AnsiString fam;
fam =Edit1->Text;
Table1->Locate("Фамилия",fam,TLocateOptions() << loCaseInsensitive);


Не получается сделать так, чтобы в случае отсутствия фамилии в базе выдавало чего-нибудь типа «Не найдено». Какая-то ерунда получается. Подскажите как лучше сделать.

smile
PM MAIL   Вверх
Ctrl_Alt_Del
Дата 13.3.2006, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 11.3.2006
Где: Ставрополь

Репутация: 2
Всего: 2



Borland C++ Builder Help
Цитата

Locate returns true if it finds a matching record, and makes that record the current one. Otherwise Locate returns false.


Если ничего не найдено Locate возвращает false.

Код

if(!Table1->Locate("Фамилия",fam,TLocateOptions() << loCaseInsensitive))
     MessageBox(0,"Ничего не найдено","Нет",0);

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.