Показать сообщение отдельно
  #1  
Старый 18.04.2017, 22:56
SetiX SetiX вне форума
Прохожий
 
Регистрация: 18.04.2017
Сообщения: 1
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию Работа с БД

в общем не пойму разницы работы кода. Есть БД на 4 записи (2 столбца). Цель перебрать эти записи и доставь значение одной из них
Код:
while not form2.ADOQuery7.Eof do
         begin
         if form2.DBLookupComboBox4.Text = form2.ADOQuery7.FieldByName('NM').AsString then
         tm:= form2.ADOQuery7.FieldByName('ENDDATE').AsString;
         form2.ADOQuery7.Next;
         end;
 
tims:=StrToDateTime(tm);
 
form2.ADOQuery7.Prior; 
form2.ADOQuery7.Prior; 
form2.ADOQuery7.Prior;
Вот по выше указанному коду достается все норм но это при 4 записях.
если изменить form2.ADOQuery7.Prior; на form2.ADOQuery7.First; программа 1 раз показывает все нормально а дальше вылетает при повторном нажатии. Не могу понять в чем причина
Код:
while not form2.ADOQuery7.Eof do
         begin
         if form2.DBLookupComboBox4.Text = form2.ADOQuery7.FieldByName('NM').AsString then
         tm:= form2.ADOQuery7.FieldByName('ENDDATE').AsString;
         form2.ADOQuery7.Next;
         end;
 
tims:=StrToDateTime(tm);
 
form2.ADOQuery7.First;
Вроде в 1 случае просто возвращаюсь к 1 записи посредством перехода вверх на 1 запись по 2 случае сразу выбираю 1 запись. Но в 1 работает все норм а во 2 глючит. КТо может пояснить что делаю не так
Ответить с цитированием