Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка таблицы DBase [D6, dBase, FoxPro]


phantom2040 ©   (2002-04-19 08:26:00) 

Привет Мастера!!!
Возник такой вопрос, необходимо отсортировать базу данных DBase по двум полям одновременно. Возможно ли сделать такое, если да то как, и стоит ли перевести базу на Paradox??


Shaman_Naydak   (2002-04-20 16:50:00) [1]

>Хочу все знать

Поставь к примеру Халценон компоненты. Понимает и поддерживает все известные под DBF индексы - idx, cdx, ntx, mdx.


Хочу все знать   (2002-04-20 10:41:00) [2]

Lusha © (19.04.02 15:33)
А как тогда?
Или хоть что б понимал их.


Lusha   (2002-04-19 15:33:00) [3]

>Хочу все знать (19.04.02 15:19)
Средствами BDE никак...


Anatoly Podgoretsky   (2002-04-19 15:33:00) [4]

Прошу прощения за повторы, барахлит постинг


Anatoly Podgoretsky   (2002-04-19 15:31:00) [5]

phantom2040 © (19.04.02 11:08)
Составной нельзя, нп Фокпросо ни дбейс их не поддерживают, можно по выражению Поле1+Поле2
Исходя их контекста ты имеешь опыт работы с Фокпро, вот его и используй один в один.


Anatoly Podgoretsky   (2002-04-19 15:29:00) [6]

phantom2040 © (19.04.02 11:08)
Составной нельзя, можно по выражению Поле1+Поле2
Из контекста выходит, что у тебя есть опыт работы с FpxPro, вот этот и используй, один в один.


Хочу все знать   (2002-04-19 15:19:00) [7]

Как про индексировать DBF-таблицу в *.IDX индекс?


Johnmen   (2002-04-19 15:17:00) [8]

>KSergey © : Зачем наехал на nest ©, если сам до конца не понимаешь, чем отличаются понятия "сортировка" и "индекс" ?


Хочу все знать   (2002-04-19 14:54:00) [9]

Как про индексировать DBF-таблицу в *.IDX индекс?


KSergey   (2002-04-19 12:32:00) [10]

>nest © (19.04.02 11:28)
С индексами принципиально не работаю... Так что к сожалению с ними не помагу.

А какого же фига выпендривался?

Индексы в DBF-таблице - это ее родной способ сортировок. Так что именно их и надо использовать для сортировок и быстрыхпоисков (поиск по индексу в DBF-таблице происходит очень быстро)

Как я понимаю ответ уже был дан. Надеюсь верный, т.к. в Delphi я не занимался созданием индексов для DBF-таблиц

(К стати, специально для nest: в литературе, посвященной Clipper, FoxPro, dBase и т.д., т.е. средам, для которых формат DBF родной, термины "таблица" и "база" часто идентичны, причем чаще используется именно термин "база данных" применительно к DBF-файлам; так что напрасно вы народ поучаете, не ответив при этом по сути заданного вопроса)


nest   (2002-04-19 11:28:00) [11]

phantom2040 ©
С индексами принципиально не работаю... Так что к сожалению с ними не помагу.


phantom2040   (2002-04-19 11:08:00) [12]

Спасибо за ответ, Мастера!!!
То, что простейшая сортировка осуществляется заданием индексов и их активизацией, это я прекрасно знаю просто я скорее всего не очень правильно сформулировал вопрос, его надо было задавать в форме: Можно ли создать составной индекс для таблицы DBase и как это сделать на практике??
А на счет того, что таблица и база данных не одно и то же я знаю, извените за то, что иногда FoxPro вские определения выскакивают


nest   (2002-04-19 10:09:00) [13]

2phantom2040 ©
Во первЫх, "отсортировать базу по полям" НИЗЗЯ!
Можно таблицу отсортировать. таблица и БД ЭТО НЕ ОДНО И ТОЖЕ!!!!
В каждой БД обычно много(несколько таблиц).

2Derr

> Не отсортировать, а создать индекс.

Ты не прав!
Создать индекс это создать индекс, а отсортировать - это отсортировать!Короче говоря,
(Сортировка=создание индекса)=FALSE!
Не уверен- не путай людей!(хотя я тоже ошибаюсь).


> Парадокс здесь ни при чем.

Парадокс здесь притом, что человек спрашивает, стоит ли ему переводить БД с Дбазе на Парадокс в его ситуации.

А теперь внимание, правильный ответ:

Программно отсортировать таблицу (в частности ДБФ) можно с помощью функции DbiSortTable(ДОБРО ПОЖАЛОВАТЬ В ПОИСК, И КОНЕЧНО ЖЕ ФАК)
Так же существует возможность сортировки руками- с пом. DataBaseDesktop: TOOLS->Utilities->"Sort..."

Насчёт индексов: они в большинстве случаев, когда нужна сортировка, способны решить проблему, но НЕ во всех случаях они применимы(не буду вдаваться в подробности).


Derr   (2002-04-19 09:29:00) [14]

Не отсортировать, а создать индекс.
Например:
Book.AddIndex("Book", "dtos(datez)+timez+fam+car",[ixExpression]);
Парадокс здесь ни при чем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо