>ADOQuery로 "select company from MEMBER" 처럼 불러온 뒤
>메모컴포넌트인 memCompany에 한꺼번에 붙여넣는 방법이 없을까요?
>자료가 60만개 정도되는데 아래처럼 하니까 시간이 너무 오래걸려서......
>고수분들 도움을 주시면 정말 감사하겠습니다.
>
>//기존방법
>while not qryCompany.Eof do
>begin
> memCompany.Lines.Add(qryCompany.FieldByName('company').AsString);
> qryCompany.Next;
>end;
>=끝=
s := TStringList.Create;
s.Clear;
while not qryCompany.Eof do
begin
s.Add(qryCompany.FieldByName('company').AsString);
qryCompany.Next;
end;
memCompany.Text := s.Text;
s.Free;
이런식으로 바꾸시면 됍니다.
데이타가 들어갈때마다 Memo Control를 Redraw하기 때문에 상당한 시간을 사용하는 겁니다.
try
Memo.Lines.BeginUpdate;
finally
Memo.Lines.EndUpdate;
end;
정희돈님께서 답변 달아주신듯이 상당부분의 컴포넌트들이 데이터를 넣을때마다 다시 그립니다.
그 다시 그리는것을 하지말라는 의미에서 BeginUpdate로 시작해서 EndUpdate할 때 그리는거죠.... 라고 알고 있습니다.