|
안녕하세요..먼저 이글을 읽어 주신 분에게 감사를 드립니다
지금 제가 할려는 작업은 DB에서 데이터를 내려 받으려고 합니다.
record 는 2만개 정도 컬럼은 4개 정도 입니다
두번째 "음식" 컬럼전체만을 내려 받을려고 합니다.
TADOQuery *AppQuery = new TADOQuery(this);
DataSource* AppDsource = new TDataSource(NULL);
DM->DBcon->LoginPrompt =false;
AppQuery->Connection=DM->DBcon;
AppDsource->DataSet = AppQuery;
TStringList *sv =new TStringList();
AnsiString ss;
AppQuery->Close();
AppQuery->SQL->Clear();
AppQuery->SQL->Add("select * from 모든품목");
AppQuery->Open();
//-------------------------------------------------------
while(!AppDsource->DataSet->Eof)
{
ss=AppDsource->DataSet->FieldByName("음식")->AsString;
sv->Add(ss);
AppDsource->DataSet->Next();
}
//----------------------------------------------------------
sv->SaveToFile("c:\\음식.txt");
delete AppQuery;
delete AppDsource;
delete sv;
ShowMessage("작업완료");
그런데 문제는 하나의 필드만 내려 받는데 시간이 무지 많이 걸려던데..원래 이런가요..아님.. 다른방법이 있는지요?
MSSQL 에서는 select * from 모든 품목 하면 1초도 안걸리던데..이걸 작업하면..7초 정도 걸립니다..
아무래도 이상해서 질문을 드립니다. (참고로 전체를 TStringList 로 읽어서 해당 부분만 빼는데도 1초 미만입니다)
그럼 많은 답변 부탁드립니다 !!!!
|