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

Вниз

Никто не сталкивался: толи 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-62488
Igor---
2003-01-10 11:20
2003.01.20
Хм.. что делать с этой ошибкой:


8-62661
roa36
2002-09-30 00:56
2003.01.20
Как работать с цифровым фотоаппаратом


6-62707
Dr.Lo
2002-11-16 19:24
2003.01.20
ClientSocket connect... Утечка ресурсов


3-62403
viper
2002-12-24 12:07
2003.01.20
DBGrid


14-62771
jocko
2002-12-30 15:05
2003.01.20
Взаимная ссылка