C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23631] [질문] DBGrid에서 선택된 Row를 다른 테이블로 복사할 때 - 속도 개선 방법 없을까요?
신종태 [] 820 읽음    2003-01-13 18:34
아래와 빌더 예제에 나와있는 방법대로 선택된 레코드를 다른 테이블로 복사할 때 이상없이 잘 동작합니다.

그런데 레코드 건 수가 10,000개 이상을 선택하여 다른 테이블에 복사하면 정말정말 오래걸립니다.
혹시 선택된 레코드를 빠른 방법으로 다른 테이블에 복사하는 방법이 없을까요?
고수님들 꼭 좀 부탁합니다.

감사합니다.

<예제>
   if (DBGridAddr->SelectedRows->Count > 0)
   {
      AnsiString sRef, sAddr, sIns1, sIns2, sIns3, sIns4, sIns5;
      int nList_no;
      DB->TableAddr->BatchMode = true;
      DB->TableSubmit->BatchMode = true;
      for (int i=0; i < DBGridAddr->SelectedRows->Count; i++)
      {
         DB->TableAddr->GotoBookmark((void *)DBGridAddr->SelectedRows->Items[i].c_str());
            sRef  = DB->TableAddr->FieldByName("ref")->AsString;
            sAddr = DB->TableAddr->FieldByName("addr")->AsString;
            sIns1 = DB->TableAddr->FieldByName("ins1")->AsString;
            sIns2 = DB->TableAddr->FieldByName("ins2")->AsString;
            sIns3 = DB->TableAddr->FieldByName("ins3")->AsString;
            sIns4 = DB->TableAddr->FieldByName("ins4")->AsString;
            sIns5 = DB->TableAddr->FieldByName("ins5")->AsString;
            //sAddr = pDS->Fields->Fields[2]->AsString;
         DB->TableSubmit->AppendRecord(ARRAYOFCONST((sRef, sAddr, sIns1, sIns2, sIns3, sIns4, sIns5)));
      }
      DB->TableAddr->BatchMode = false;
      DB->TableSubmit->BatchMode = false;
   }

+ -

관련 글 리스트
23631 [질문] DBGrid에서 선택된 Row를 다른 테이블로 복사할 때 - 속도 개선 방법 없을까요? 신종태 820 2003/01/13
31548     Re:[질문] DBGrid에서 선택된 Row를 다른 테이블로 복사할 때 - 속도 개선 방법 없을까요? 제이 701 2003/01/14
31547     Re:[질문] DBGrid에서 선택된 Row를 다른 테이블로 복사할 때 - 속도 개선 방법 없을까요? 장성호 709 2003/01/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.