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

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

сортировка датасета [D7]


koss_ ©   (2007-08-10 18:22:00) 

Проблема в следующем: если в тексте SELECT'a есть конструкция order by, почему-то датасет автоматически сортируется. Имеется в виду, что если изменить какую-то запись в датасете, она сразу перескочит на другое место, в порядке сортировки. В даном случае это является нежелательным эффектом. Подскажите как этого избежать. Заранее спасибо.


Bless   (2007-08-13 18:15:00) [1]

Судя по эффекту, похоже на то, как если бы он выполнил что-то в духе ADODataset1.sort:='fieldname'. Тогда действительно сразу после добавления новой записи ее сразу перекидывает туда, где она должна быть согласно критериям сортировки.


sniknik   (2007-08-13 17:29:00) [2]

> нет такого явления
проверял на трехзвенке (первый пример, что попался, где использовал ClientDataSet... хотя с чего я решил что у него он не пойму, этот партизан еще не "раскололся")


sniknik   (2007-08-13 17:26:00) [3]

> а как именно он это делает?
а тебе зачем?

> Исключить order by из запроса.
смысла нет, т.к. нет такого явления, что описан в [0]. чегото он сам "намудрил" типа [2].


Игорь Шевченко   (2007-08-13 15:46:00) [4]


> если в тексте SELECT'a есть конструкция order by, почему-
> то датасет автоматически сортируется. Имеется в виду, что
> если изменить какую-то запись в датасете, она сразу перескочит
> на другое место, в порядке сортировки. В даном случае это
> является нежелательным эффектом. Подскажите как этого избежать.
>


Исключить order by из запроса.


koss_   (2007-08-13 11:59:00) [5]


> Desdechado ©   (11.08.07 18:24) [3]
>
> Так может отрабатывать ClientDataSet, он анализирует (AFAIK)
> опцию ORDER BY и подстраивается под нее.


а как именно он это делает?


Lacmus   (2007-08-12 09:36:00) [6]

Для TQuery можно использовать TQuery.CachedUpdates, TQuery.UpdateObject (TUpdateSQL), TQuery.ApplyUpdates()


lacmus@bk.ru   (2007-08-11 22:22:00) [7]

Для TQuery можно использовать TQuery.CachedUpdates, TQuery.UpdateObject (TUpdateSQL), TQuery.ApplyUpdates()


Desdechado   (2007-08-11 18:24:00) [8]

Так может отрабатывать ClientDataSet, он анализирует (AFAIK) опцию ORDER BY и подстраивается под нее.


Anatoly Podgoretsky   (2007-08-10 19:15:00) [9]

Не обновлять датасет


tomkat   (2007-08-10 18:24:00) [10]

может дело в гриде ?


Наверх

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