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
[65576] Query 컴포넌트에서 Table의 레코드 갯수 세기
비베시러 [] 1368 읽음    2011-11-24 19:01
MS-SQL에서 table의 레코드 갯수를 어떻게 세는지 좀 알려주세요.
잘 안되어 답답한 마음에 올립니다.
우선 제가 해본것을 올려봅니다.


하기와 같이 데이터베이스(test01)을 선택하고
    UniQuery1->SQL->Clear();
    UniQuery1->SQL->Add("use test01");
    UniQuery1->Execute();   //        UniQuery1->ExecSQL(); 쓰면 안된다.

하기와 같이 테이블(aaa)을 선택하고

    UniQuery1->SQL->Clear();
    UniQuery1->SQL->Add("select COUNT(*) from aaa");
    UniQuery1->Execute();   //        UniQuery1->ExecSQL(); 쓰면 안된다.


이렇게 3가지를 해보았는데,

    UniQuery1->Last();
    int No = UniQuery1->RecordCount;
    print("Table RecCount = %d", No);

    No = UniQuery1->RecNo;
    print("Table RecCount = %d", No);

    No = UniQuery1->RecordSize;
    print("Table RecCount = %d", No);

레코더의 갯수는 안나오네요..


SQL문으로 치면
use test01
select COUNT(*) from aaa
와 같은 것인데

  (열 이름없음)
1 3000000

이렇게 나옵니다. 즉  첫번째 리턴값을 참고 해야 하는데, 이것이 어렵네요.
알려주세요.


예전에는 하기와 같이 했었는데, 데이터가 많아지니 느려져서요

TABLE 컴포넌트를 이용하여

    _Table->TableName = strTableName;
    _Table->Active = false; _Table->Active = true;
    _Table->Last();
    int No = _Table->RecordCount; // 총 레코드 숫자
    print("Table RecCount = %d", No);

이렇게 해보았느데, 속도가 느려서 개선 하려고 합니다

+ -

관련 글 리스트
65576 Query 컴포넌트에서 Table의 레코드 갯수 세기 비베시러 1368 2011/11/24
65578     Re:Query 컴포넌트에서 Table의 레코드 갯수 세기 보리 1598 2011/11/24
65582         Re:Re:Query 컴포넌트에서 Table의 레코드 갯수 세기 비베시러 1354 2011/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.