Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизПорядок записей в TADODataSet Найти похожие ветки
← →
TechnoDreamer © (2005-02-09 01:41) [0]Свойство CommandText имеет такой вид:
select * from SampleTable ORDER BY ID ASC
Поле ID типа счетчик
Так вот при такой конструкции:
while not(SampleTable.Eof) do
begin
stringlist.Add(Sample.FieldValues["Name"]);
SampleTable.Next;
end;
stringlist.SaveToFile("file.txt");
В file.txt строки отсортированы не по полю ID и по моему вообще не отсортированы :-(
Пример чисто тестовый, сделал что бы проверить, не работает, подскажите в чем причина?
← →
ЮЮ © (2005-02-09 05:17) [1]Цикл по SampleTable, а данные добавляются из другого набора данных Sample.FieldValues["Name"].
← →
sniknik © (2005-02-09 08:09) [2]какже не отсортированы... там всего одно значение поля запишется, как ни тасуй а ряд однотипных значений будет все одно отсортирован... ;о))
и еще, странная проверка, сортировка (и проверка) по ID а записываеш(пытаешся) и смотриш на Name. записывай тоже ID и смотри на него.
(хотя проше подключить dbgrid и вот они все у тебя перед глазами)
← →
TechnoDreamer © (2005-02-09 12:37) [3]Ну блин, как всегда...
2ЮЮ: Опечатка, в коде таблицы у меня называются конечно же не sample и не sampletable.
2sniknik:
От тебя жду больше всех помощи :-)
Я не говорю что текстовый файл не отсортирован, он то понятно что не по алфавиту, ну пусть будет так:
while not(SampleTable.Eof) do
begin
stringlist.Add(SampleTable.FieldValues["ID"]);
SampleTable.Next;
end;
stringlist.SaveToFile("file.txt");
Не в этом дело, всё равно не так как если я в Access выбрал сортировку по полю ID. Причем отсортировано почти нормально, только в конце идет блок записей из середины (тоже отсортированый). Может опять какой глюк ADO? :-)
А DBGrid не проще, нету для него места на форме :-))
← →
sniknik © (2005-02-09 13:32) [4]> Ну блин, как всегда...
а как ты думал? ;о)
> А DBGrid не проще, нету для него места на форме :-))
тебе же не говорят его на постоянку там оставить, просто проверить. а то тут еще компонент вмешивается stringlist, уверен что это не его "глюк"?
← →
TechnoDreamer © (2005-02-10 01:15) [5]Так что никто не знает в чем дело?
Получается вот такой бред:
110
111
112
113
114
116
117
...
335
336
337
338
339
340
...
1112
1113
1114
1115
...
769
770
771
772
773
774
Вроде как частично сортировка есть, но блоками какими-то? Уже преобразовал поле из типа счетчик в тип целое, не помогло :-( Что оно такое?
Может структура:while not(SampleTable.Eof) do
begin
end;
не обращает внимания на сортировку? Уже не знаю, новую таблицу что ли формировать, может поможет.
← →
sniknik © (2005-02-10 10:38) [6]ты грид то пробовал? там как? должно быть нормально, ни разу не подводило, а вот за stringlist (TStringList?) не поручусь, вполне возможно внесение блоками (как память выделяется, и очень похоже на внесение в несколько потоков, блоки заполняются паралельно и правильно а при обьеденении путаница).
потом, есть у SampleTable какие нибудь обработчики событий, твои? отключи все, попробуй.
> не обращает внимания на сортировку? Уже не знаю, новую таблицу что ли формировать, может поможет.
не в ADO и не в таблице дело, тем более у тебя в запросе стоит сортировка, рекордсет будет отсортирован в любом случае.
послал програмку, проверь свой запрос там (если и там "пересорт" то признаю... глюк ADO ;о)))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c