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
[15929] 음 파라독스나 인터베이스등이 아니면 될수 있으면 TDataSet 말고 TADODataSet을 쓰십시오.
에보니.^0^ [mortalpain] 997 읽음    2002-03-02 09:13
허재연 님이 쓰신 글 :
: 안녕하세요
:
: 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 귀신 =ㅅ=;; 였슴돠. 그럼 해보세요.

+ -

관련 글 리스트
15928 [질문] SQL로 SELECT * 하거나 아니면 Table에서 Filter했을때 다른 Table에 가장빠른게 쓰는법? 허재연 722 2002/03/02
17239     Re:[답] SQL로 SELECT * 하거나 아니면 Table에서 Filter했을때 다른 Table에 가장빠른게 쓰는법? 허재연 966 2002/04/05
15929     음 파라독스나 인터베이스등이 아니면 될수 있으면 TDataSet 말고 TADODataSet을 쓰십시오. 에보니.^0^ 997 2002/03/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.