Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
6-62711
ivankor
2002-11-22 03:08
2003.01.20
Возможно ли?


8-62669
Igor__
2002-09-13 22:30
2003.01.20
Помошник-помошник-помошник...


3-62400
an
2002-12-25 16:02
2003.01.20
Проблемма с DbCtrlGrid


1-62639
de
2003-01-08 17:42
2003.01.20
Порядок активицации кнопок на форме


1-62562
diks
2003-01-11 12:38
2003.01.20
Помогите




   Наверх