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

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

организация сортировки по нескольким полям


Scot Storch ©   (2009-02-16 12:19:00) 

Пишу dll которая будет содержать ряд методов для работы с БД. Необходимо сделать функцию сортировки записей по нескольким полям. Как правильно сформировать список параметров функции? Думал передавать список полей через запятую, но как тогда хранить информацию о том какое поле как сортировать (по возврастанию, по убыванию)?


Ega23   (2009-02-16 12:31:00) [1]


> MyOrderString := 'Field1, Field2 DESC, Field3, Field6 DESC,
>  ...FieldN';


Если ASC и DESC чередуются, то ASC тоже лучше явно указывать.
Сейчас точно не припомню, но где-то на этом однажды накололся.


Сергей М.   (2009-02-16 12:30:00) [2]


> Пишу dll


Каким боком dllкасается задачи ?
imho, никаким.


Сергей М.   (2009-02-16 12:25:00) [3]

Например, так:

MyOrderString := 'Field1, Field2 DESC, Field3, Field6 DESC, ...FieldN';

По умолчанию сортировка по возрастанию, а если указано DESC, то по убыванию


ЮЮ   (2009-02-16 12:25:00) [4]

для работы с БД давно уже придуман SQL.
Причем в ORDER BY можно не только указать имена полей через запятую, но и то как сортировать (по возврастанию, по убыванию)


Юрий Зотов   (2009-02-16 12:22:00) [5]

> какое поле как сортировать (по возврастанию, по убыванию)

Передавать готовую строку, которую останется только добавить к order by. Например: field1, field2 desc, field 3


Наверх

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