|
허재연 님이 쓰신 글 :
: 안녕하세요
:
: Select inx, ddate FROM AAA WHERE kkey=7
: 이렇게 했을때 결과가 200개가 나왔을때,
:
: inx필드의 값을 BBB라는 데이블에 쓰고 싶습니다.
: 가장 빠르게 할 수있는 방법이 무엇일까요?
:
: 지금은 아래처럼 하고 있습니다.
:
:
: Select inx, ddate FROM AAA WHERE kkey=7
: .. 생략
: Qtemp->Open();
:
: i=0;
: while( ! Qtemp->Eof ) {
: ++i;
: BBB->Append();
: BBB->FieldByName("inx")->AsInteger = i;
: BBB->FieldByName("vvalue")->AsInteger = Qtemp->FieldByName("inx")->AsInteger;
: BBB->Post();
: Qtemp->Next();
: }
: Qtemp->Close();
:
Access 나 MS-SQL 등을 쓸때의 이야기입니다.
걍 의사코드 먼저 쓰고 설명합시다.
의사코드 소스
1. 원본 ADO 데이터 셋을 연다. (BDE를 쓰거나 로컬 디비일 경우 아주 지리한 과정임.)
2. 타겟 ADO 데이터 셋을 준비해서(TADODataSet, TADOQuery, TADOTable *TargetDataSet)
3. TargetDataSet->Clone(SourceDataSet, ltUnsuspected); 을 호출하면 쌈빡 해결.
2번째 인자는 TADOLockType 입니다. 음 이건 강의때 자세히 설명할텐데....
아무래도 볼랜드 포럼 2번째 개편까지 강의하기는 힘들듯 싶슴다....
운영진도 여러가지 일로 바쁘니 양해를 좀.... 먹고 살아야져.... =ㅅ=;;
그밖에도 LockType에는 ltReadOnly, ltPessimistic, ltOptimistic, ltBatchOptimistic 등이 있으며
대충 디비 프로그래밍을 해본 분들은 눈치를 까셨을 겁니다. 타겟 데이터 셋을 어떻게 오픈할지에
관여하는 인자입니다.
이상 ADO 귀신 =ㅅ=;; 였슴돠. 그럼 해보세요.
|