|
테이블을 ttASCII 타입으로 TTable의 CreateTable을 이용하여 생성한 후 데이터를 추가합니다.
이때, 테이블의 갯수는 대략 1000개 정도이며, 이것들을 하나의 TTable을 이용하여
TTable* pTable = new TTable(NULL);
while (i < iCount) {
for (i=0; i < 1000; i++) {
pTable->DatabaseName = ExtractFilePath(pszTablePath[i]);
pTable->TableName = ExtractFileName(pszTablePath[i]);
pTable->Open();
pTable->Append();
pTable->FieldByName("A")->AsString = pszA[i];
pTable->FieldByName("B")->AsString = pszB[i];
pTable->FieldByName("C")->AsFloat = pdC[i];
pTable->FieldByName("D")->AsFloat = pdD[i];
pTable->FieldByName("E")->AsInteger = piE[i];
pTable->Post();
pTable->Close();
}
iCount = GetCount();
}
delete pTable;
이런식으로 구현했습니다.
그런데 문제는 pTable->Open(); <- 여기서 수백번 루프를 돌고 난 뒤 Table is busy. 에러가 나는겁니다.
그런데 그 루프의 숫자도 매번 다릅니다.
지금 사용하고 있는 것은 Turbo C++ Explorer 이구요, 이 소스를 예전엔 Borland C++ Builder 6.0 에서 잘 사용했던 건데 지금은 라이센스 문제로 툴을 바꿨거든요. 이게 Turbo C++ Explorer에서 어떤 제약이 있는건지 아니면 제 소스에 문제가 있는건지 궁금합니다.
|