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
[65582] Re:Re:Query 컴포넌트에서 Table의 레코드 갯수 세기
비베시러 [] 1354 읽음    2011-11-25 16:41
예..!!!

.이것입니다.
일단 SQL로던지고
그 값을 Fields[0]로 받을 수가 있군요.
정말 감사합니다. 감사합니다.

^^

UniQuery1->Fields->Fields[0]->AsInteger;



보리 님이 쓰신 글 :
: UniQuery1->SQL->Clear();
:     UniQuery1->SQL->Add("select COUNT(*) as cnt from aaa");
:     UniQuery1->Execute();   //        UniQuery1->ExecSQL(); 쓰면 안된다.
:
:    short cnt = UniQuery1->FieldByName("cnt")->AsInteger;
:
: 또는,
:
: UniQuery1->SQL->Clear();
:     UniQuery1->SQL->Add("select COUNT(*) from aaa");
:     UniQuery1->Execute();   //        UniQuery1->ExecSQL(); 쓰면 안된다.
:
:    short cnt = UniQuery1->FieldByName("cnt")->AsInteger;
:
: UniQuery1->Fields->Fields[0]->AsInteger;
:
: 이걸 원하신건가요?
:
: 비베시러 님이 쓰신 글 :
: : 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의 레코드 갯수 세기 비베시러 1369 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.