|
예..!!!
.이것입니다.
일단 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);
: :
: : 이렇게 해보았느데, 속도가 느려서 개선 하려고 합니다
|