Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

Никто не сталкивался: толи Locate глючит, толи ????....   Найти похожие ветки 

 
@andrew   (2002-12-24 13:44) [0]

Делаю Locate, а он не двигает курсор куда надо. Если смотреть данные текущей записи (типа FieldByName) - все правильно, но курсор стоит не там где надо.


 
@andrew   (2002-12-24 13:50) [1]

В догонку.
Это происходит только если искомая запись оказывается последней. Т.е. в моем случае, после Locate я должен получить Eof=true, но ни фига: курсор стоит где-то в з..нице, а вот если сделать Next - гордо встает в конец и вот только тогда возвращает Eof = true. При этом напомню: возвращая значения полей текущей записи я получаю результаты как будто нахожусь на нужной записи в конце...


 
myor   (2002-12-24 14:14) [2]

код можно увидеть?


 
LordOfSilence   (2002-12-24 14:19) [3]

Как Вы определяете, что курсор стоит в з..нице?
Это заметно по "стрелочке" в TDBGrid?


 
@andrew   (2002-12-24 14:29) [4]

>LordOfSilence
Да

Еще туда же.
Я тут поэксперементировал и выяснил, что Locate тут нипричем.
А именно:
with Query do begin
First;
while not(Eof) do
Next;
end;
Для меня было открытием, что Eof становится true только если я, находясь на посленей записи еще раз (на мой взгляд лишний) сделаю Next. Так и должно быть (если 3 строки, то цикл выполняется 3 раза, а не два)?
Извинити, если вдруг оказался лохом :-)
На всякий: я работаю с ADOQuery(проапдейченным как надо)


 
Alexandr   (2002-12-24 14:32) [5]

так и должно быть
Этот eof возникает когда уже врезался лбом в стенку, а не заранее


 
LordOfSilence   (2002-12-24 14:33) [6]

Совет: еще раз, внимательно и вдумчиво, перечитать справку по свойствам BOF/EOF


 
Val   (2002-12-24 14:33) [7]

>@andrew © (24.12.02 13:44)
Погодите, что-то вы путано говорите. Вы попадаете на нужную запись - последнюю - так? То, что вы думаете, что находясь на ней вы должны получить EOF = true - распространенная ошибка. Поскольку курсор находится именно на последней записи, а вот при попытке переместиться с нее далее, вы и получаете EOF = true, что есть правда. То же и с первой записью.
Понаблюдайте, хотя бы за кнопками стандартного навигатора - увидите ту же картину. :)



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

Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-62604
Senator
2003-01-09 12:10
2003.01.20
мерцание


1-62523
Kventin
2003-01-10 18:55
2003.01.20
MS Word & html


4-62895
Cosmic
2002-12-02 22:12
2003.01.20
Диалог


14-62755
Dron_coder
2002-12-29 17:41
2003.01.20
Всем, всем, всем!!!


7-62870
cecist
2002-11-05 16:52
2003.01.20
Logon в Windows2000





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский