Текущий архив: 2004.01.16;
Скачать: CL | DM;
Вниз
Не выключается AutoCalcFields Найти похожие ветки
← →
AVP_opck (2003-12-22 09:10) [0]Есть у меня вот такая процедурка. Должна сохранять результат запроса в текстовый файл.
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 09:15) [1]ibq3 - ibquery3
Самое интересное вроде и авторасчет я выключил а он один фиг делает. (((
← →
Johnmen (2003-12-22 10:15) [2]Самое интересное, что при данных условиях (ibq3.Eof сразу дает True) цикл бесконечен :)
И ещё. Перемещение на последнюю запись никогда не "ibq3.Eof сразу дает True".
← →
AVP_opck (2003-12-22 10:26) [3]ага точно ошибочка есть. Not пропустил.
мать его так
Страницы: 1 вся ветка
Текущий архив: 2004.01.16;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c