Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Сортировка   Найти похожие ветки 

 
kostik78ua   (2002-11-21 10:29) [0]

Всем привет!
Заметил глюк. Объясните, почему простой запрос
"Select id from mytable order by name"
в Query - отрабатывает, а в ClientDataSet - не хочет.


 
stone ©   (2002-11-21 10:35) [1]

потому что ClientDataSet предназначен для других целей


 
Valeron   (2002-11-21 10:55) [2]

А ClientDataSet завязан с Query?
У меня все обрабатывает


 
kostik78ua   (2002-11-21 11:00) [3]

В трехуровневой технологии это практически тот-же Query.
По идее не должно быть ни какой разницы если писать:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("select...");
Query1.Open;
или
ClientDataSet1.Close;
ClientDataSet1.CommandText:="Select...";
ClientDataSet1.Open;
Да ее (разницы) и нет, за исключением глюка с "order by Name". Да и то в случае, если поле "Name" не прописано в Select-е.
Но почему??? Не знаю.


 
kostik78ua   (2002-11-21 11:04) [4]

> Valeron
К какой у тебя запрос? Важно, чтобы в select отсутствовало поле, по которому будешь сортировать (в order by).


 
Valeron   (2002-11-21 11:06) [5]

У меня присутсвует, а зачем чтобы отсутсвовало?


 
kostik78ua   (2002-11-21 11:18) [6]

Вообще, иногда надо. Ну, а попробуй задать псевдоним для поля.
т.е.
"select id test_id from mytable order by id".
Псевдонимы ведь часто нужны?
Тут тоже выдает ошибку: "Не найдено поле id".


 
Valeron   (2002-11-21 11:22) [7]

а если сортировать не по псевдониму?


 
kostik78ua   (2002-11-21 11:32) [8]

Псевдонимом является test_id, а я сортирую по полю id
Сортировка по test_id сразу приводит к ошибке. Ну это и понятно.
Единственное что сейчас смог придумать, так это сортировать выборку уже на клиенте. Но хотелось бы обойти этот глюк. :(


 
stone ©   (2002-11-21 11:38) [9]


> Псевдонимом является test_id, а я сортирую по полю id

псевдоним - это псевдоним, а поле - сущность.


> Важно, чтобы в select отсутствовало поле, по которому будешь
> сортировать (в order by).

сортировать по полю, которого нет довольно сложно, ты не находишь?


 
Valeron   (2002-11-21 11:42) [10]

stone все правильно говорит, сортируй по полю который есть, т.е сушность, а не псевдоним.


 
kostik78ua   (2002-11-21 11:49) [11]

> сортировать по полю, которого нет довольно сложно, ты не находишь?
Тем не менее с этой "сложной" задачей вполне удачно справляется обычный Query.
Кроме того я как раз и пытаюсь сортировать по полю id.
Повторюсь: "select id test_id from mytable order by id ".


 
Valeron   (2002-11-21 12:07) [12]

> select id test_id from mytable order by id
А может все-таки написать после id слово as? а то как-то не работает. А с этим словом все ОК
Я вот попробовал такой запрос
select field1 as f1 , field2 as f2
from table
order by field2
Так все ОК


 
BorisUK ©   (2002-11-21 12:10) [13]

У тебя в запросе одна таблица или несколько?
Попробуй "order by mytable.id" у меня этих сортировок тьма
и все работает также трехзвенке просто поточнее запросы пиши чтоб сервак не парился.
ИМХО это все что нужно.



Страницы: 1 вся ветка

Текущий архив: 2002.12.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-28091
F1
2002-11-28 11:09
2002.12.09
Swap to Fiend!!! Ау!!! Fiend? Отзовись, если что я в чате...


3-27836
SashaL
2002-11-20 09:37
2002.12.09
Апгрейд MS SQL Server и Delphi.


4-28347
TankMan
2002-10-28 09:58
2002.12.09
Как описывать реакцию на события динамически создаваемых объектов


14-28235
Вадим
2002-11-17 15:12
2002.12.09
Чертовы соседи! Как с ними лучше бороться?


1-28043
[BAD]Angel
2002-11-27 15:15
2002.12.09
ВОПРОС ПО n-файлам