Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не выключается AutoCalcFields [D6, IB6.x]


AVP_opck ©   (2003-12-22 09:10:00) 

Есть у меня вот такая процедурка. Должна сохранять результат запроса в текстовый файл.

begin
if SaveDialog1.Execute then
begin
file_name:=SaveDialog1.FileName;
assignfile(f,file_name);
rewrite(f);
with form1 do
begin
ibq3.AutoCalcFields:=false;

ibq3.First;

while ibq3.Eof do
begin
st:="";
st:=ibq3.Fields[0].AsString+";";
st:=st+ibq3.Fields[1].AsString +";";
st:=st+ibq3.Fields[5].AsString +";";
st:=st+ibq3.Fields[6].AsString +";";
st:=st+ibq3.Fields[7].AsString +";";
st:=st+ibq3.Fields[8].AsString +";";
st:=st+ibq3.Fields[9].AsString +";";
st:=st+ibq3.Fields[10].AsString +";";
st:=st+ibq3.Fields[11].AsString +";";
writeln(f,st);
ibq3.Next;
end;
ibq3.AutoCalcFields:=true;
end;
closefile(f);
end;
end;

НО!!!
После команды ibq3.First;
происходит авторасчет полей
процедуркой
tt.Date:=ibq3.fieldByName("d").asinteger;
tt.Time:=ibq3.fieldbyName("t").AsInteger;
ibq3.Fields[0].Value:=Datetostr(TimeStamptoDatetime(tt));
ibq3.Fields[1].Value:=timetostr(TimeStamptoDatetime(tt));

и затем указатель перемещается на последнюю запись в результате чего ibq3.Eof сразу дает True
И цикл While do не выполняется.
В чем дело как выйти из ситуации.


AVP_opck   (2003-12-22 10:26:00) [1]

ага точно ошибочка есть. Not пропустил.
мать его так


Johnmen   (2003-12-22 10:15:00) [2]

Самое интересное, что при данных условиях (ibq3.Eof сразу дает True) цикл бесконечен :)
И ещё. Перемещение на последнюю запись никогда не"ibq3.Eof сразу дает True".


AVP_opck   (2003-12-22 09:15:00) [3]

ibq3 - ibquery3
Самое интересное вроде и авторасчет я выключил а он один фиг делает. (((


Наверх

Титульная страница Поиск, карта сайта Написать письмо