![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
организация сортировки по нескольким полям
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