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
[9155] [질문] 정말 아시는분 없으세요??? ㅡ.ㅡ;;;
최창욱 [] 939 읽음    2001-07-19 16:19
제가 궁금한 내용은...

TQuery와 TDataSource, 그리고 TDBGrid를 바운딩 시킵니다.

그런후 TQuery의 SQL에다가 Select * From Table 하면
해당되는 테이블의 데이터들이 TDBGrid에 뜹니다.

이때 데이터 양이 10만건이고 릴레이션 되어 있다면 시간이 장난이 아니게 오래 걸립니다.

그런데 TQuery 이놈은 좀 영리해서(?) 해당 데이터가 10만건이라도 10만건을 다 불러오는게 아니라
보여줄 만큼의 Data만 불러오고 그 후로는 DBGrid의 스크롤 바를 내렸을때(기본 20레코드 인것 같더라구요)
다시 SQL문을 자동으로(?) 날립니다.(제가 테스트 해본 바로는 TTable도 같습니다)

그래서 시간이 굉장히 짧게 걸리는 것처럼 보이는데......

제가 지금 쓰고 있는 컴포넌트는 TADOQuery입니다.
이놈은 TQuery처럼 영리하지 못해서 그런가 Select * From Table하면 시간이 무쟈게 오래 걸리면서
10만건을 다 불러 옵니다. ㅡ.ㅡ;;;;

제가 하고 싶은 일은...
TADOQuery도 TQuery처럼 한꺼번에 데이터를 불러오는게 아니라
처음에는 화면에 보일만큼(이를테면 50~100개의 레코드)만 불러온후
DBGrid의 스크롤 바를 내릴때 마다 일정크기(이를테면 20개)의 데이터를 불러오고 싶습니다.

힌트를 주셔도 좋고, 코드를 주셔도 좋습니다 ㅡ.ㅡ;;;
현모양처님의 질문글처럼 많은 답변 부탁드립니다.

임선규님 향기님... 친절한 답변 기다리겠습니다 흐흐흐

+ -

관련 글 리스트
9155 [질문] 정말 아시는분 없으세요??? ㅡ.ㅡ;;; 최창욱 939 2001/07/19
9199     Re:[질문] 정말 아시는분 없으세요??? ㅡ.ㅡ;;; 방태윤 998 2001/07/20
9197     Re:[질문] 정말 아시는분 없으세요??? ㅡ.ㅡ;;; 방태윤 976 2001/07/20
9156     제가 답변할수 있는 능력이 안되는군여.. TADOQuery는 써본적이 없어서리.. 죄송..[내용없음] 임선규 883 2001/07/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.