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

 
Сортировка базы данных
___Lamo
Отправлено: 30.04.2004, 13:06


Не зарегистрирован







Есть у меня таблица Paradox7, прицепленая через Ttable и отображаемая в DBGrid, как я могу отсортиовать таблицу по указанному полю по возрастанию(A,B,C...; 1,2,3...; 27.02.2004,28.02.2004,29.02.2004...)
olegenty
Отправлено: 30.04.2004, 14:29


Ветеран

Группа: Модератор
Сообщений: 2412



IndexFields выстави, или работай через TQuery с инструкцией ORDER BY
___Lamo
Отправлено: 01.05.2004, 10:38


Не зарегистрирован







А как IndexFields в Table-e выставлять, примерчик не подбросите:-)
olegenty
Отправлено: 03.05.2004, 07:04


Ветеран

Группа: Модератор
Сообщений: 2412



CODE

TTable1->IndexFieldNames = "Field2;Field1;Field5";


вот и будет индексироваться таблица по трём полям. но будет плохо, если реального индекса по этим полям у тебя нет.
Guest
Отправлено: 04.05.2004, 19:31


Не зарегистрирован







Мне надо сортировать таблицу по полю Users(оно у меня 1-е), я пишу: Table1->IndexFieldNames = "Users"; И у меня вылетает ошибка: ...Table1: No index for fields Users, че мне нужно сделать, и можно с примерчиком:-)

Пробовал и через SQL пишу:
select * from CLIENTS.db order by Users

Таблица CLIENTS.db находится в текущей папке программы, но при активации query вылетает ошибка: Field in order by must be in result set
без order by Users таблица нормально открывается. В чем дело?

Заранее благодарен
olegenty
Отправлено: 05.05.2004, 06:44


Ветеран

Группа: Модератор
Сообщений: 2412



случай сложный...

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


касаемо запроса с ORDER BY — вчитайся в сообщение об ошибке. твой Query говрит тебе, что ты не включил в результат выборки поле Users, а надо...
** demon
  Отправлено: 14.05.2004, 14:21


Не зарегистрирован







я использовал функцию FindNearst и сортировка шла на ура и по буквам и по цифирям туда и обратно

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