Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.036 c
14-1109048573
Skier
2005-02-22 08:02
2005.03.13
Ноутбук б/у


3-1108306149
UVV
2005-02-13 17:49
2005.03.13
Почему не работает запрос в Oracle?


6-1105356285
Ditmar
2005-01-10 14:24
2005.03.13
idHTTP как заставить работать через Proxy? (D7)


1-1109627083
Мирон
2005-03-01 00:44
2005.03.13
Не хочет вызываться нужный конструктор класса


1-1109571142
Oleg_K
2005-02-28 09:12
2005.03.13
Как обьявить событие при создании компоненты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский