|
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);
이렇게 해보았느데, 속도가 느려서 개선 하려고 합니다
|