|
동일한 테이블에 여러 개의 Row를 한꺼번에 INSERT해야 할 상황입니다.
SQL 문으로 INSERT 문장으로 넣으려고 하니 너무 비효율적이여서 (동일 문장을 여러번 수행)
동시에 넣으려고 로직을 다음과 같이 수정했습니다.
이것이 타당성이 있는 지요?
테스트 해보니까 두번째 append()문장을 만났을 때 첫번째 DB에 집어 넣어 버립니다.
DM->Table01->Filter = " uid < 0 "; // 일단 dummy하게 select함.
DM->Table01->Open();
DM->Table01->Append();
DM->Table01->FieldValues["uid"] = 5;
DM->Table01->FieldValues["name"] = "이은규";
DM->Table01->FieldValues["num"] = 125;
DM->Table01->FieldValues["addr"] = "---";
DM->Table01->Append();
DM->Table01->FieldValues["uid"] = 6;
DM->Table01->FieldValues["name"] = "이은규";
DM->Table01->Post(); // 이곳에서 두 개의 row가 모두 insert되었으면 합니다.
좋은 방법 없을까요?
sql = "insert into xTest ..."
DM->Query->Active = false;
DM->Query->SQL->Clear();
DM->Query->add(sql);
DM->Query->ExecSQL();
sql = "insert into xTest ..."
DM->Query->Active = false;
DM->Query->SQL->Clear();
DM->Query->add(sql);
DM->Query->ExecSQL();
이렇게 하는 방법은 너무 비 효율적인 방법이라서 다른 방법이 있는가 해서요?
좋은 답변 바랍니다.
감사합니다.
|