반복문에서 FieldByName을 사용하는 것이 크게 걱정할 속도는 아니다라는 말도 있긴 하지만
정보 공유차원에서 작성해 보았습니다.
var Field1 : TField; begin Field1 := DataSet.FieldByName('Field1'); ShowMessage(Field1.AsString); end;
FieldByName이 매번 필드를 찾는 시간을 줄이고 Field1에 저장된 필드정보를 사용합니다.
다음과 같은 상황일 때 유의미하게 사용됩니다.
begin
while not DataSet.Eof do begin DataSet.FieldByName('Field1').AsString := DataSet.FieldByName('Field1').AsString + 'Test String'; DataSet.Next; end;
end;
같은 필드를 두번이나 찾아가야하는 불필요한 상황을 아래와 같이 변경할 수 있습니다.
var Field1 : TField; begin Field1 := DataSet.FieldByName('Field1'); while not DataSet.Eof do begin Field1.AsString := Field1.AsString + 'Test String'; DataSet.Next; end; end;
반응형