Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
TQuery의 RecordCount의 의문점
SQL문을 이용해서 검색을 했는데 TQuery의 RecordCount가
-1(데이타가 있는 경우), 0(데이타가 없는 경우),
어떤 경우에는 데이타의 갯수만큼 나타나는 걸 확인했는데
데이타가 없을 경우 0이 나타나는 건 이해가 가는데
데이타가 있는 경우에 -1이 나오는 경우와 개수만큼의 숫자가
나오는 경우의 차이는 뭔가요?
1
COMMENTS
김영대
•
1999.11.13 02:43
termy wrote:
> SQL문을 이용해서 검색을 했는데 TQuery의 RecordCount가
> -1(데이타가 있는 경우), 0(데이타가 없는 경우),
> 어떤 경우에는 데이타의 갯수만큼 나타나는 걸 확인했는데
> 데이타가 없을 경우 0이 나타나는 건 이해가 가는데
> 데이타가 있는 경우에 -1이 나오는 경우와 개수만큼의 숫자가
> 나오는 경우의 차이는 뭔가요?
사용하는 DB가 로컬에 있는 XBase계열의 DB라면 이런 문제가 없지만
C/S 환경이라면 이런 문제가 발생합니다
결론부터 말씀드리면 RecordCount 는 믿을만한것이 못됩니다
BDE는 data-fetching 메커니즘이 있어서 만약 질의한 레코드 갯수가
많을경우 화면의 DBGrid에 한번에 20 개만 보인다면 화면스크롤시 모래시계가
중간중간에 보일겁니다(DBGrid가 아니더라도 마찬가지 입니다)
즉 질의를 했다고 해서 자료를 다 가지고 오는것이 아니라 중간중간에
필요한 페이지단위로 가져오는 것입니다
하지만 이미 가져온 레코드는 refresh 를 시키지 않는한 보존됩니다
그래서 RecordCount가 -1 이라는건 모든 자료를 fetch 하지 않아서 그렇습니다
이때는 강제로 fetch하게 하는 방법이 있는데 간단히 아래처럼
Query.Open;
Query.Last;
Query.First;
하시면 됩니다
Last를 하려면 별 수 없시 다 가져와야 겠죠...
하지만 단지 레코드 갯수만 알아내려면
SELECT COUNT(*)
FROM 테이블
해서 갯수만 질의해 오는것이 트래픽 문제를 줄일 수 있습니다
또한 단지 조건에 맞는 레코드가 있는지 판단하려면 Query.IsEmpty 를 사용하거나
Query.Eof and Query.Bof 를 사용하세요
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김영진
•
1999.11.13 06:03
1
COMMENTS
/
0
LIKES
Edit 박스에 관하여...
이재식
•
1999.11.13 06:40
김영진 wrote: > Edit 박스에 숫자를 문자로 바꾸어서 출력해주었습니다. > 그런데 정렬이 왼쪽으로 되더...
chobo
•
1999.11.13 05:53
1
COMMENTS
/
0
LIKES
dbgrid에서 커스 이동
이재식
•
1999.11.13 06:12
chobo wrote: > 엊거제부터 델파이를 쫌 하고있는데요.. > 추보적인 질문이지만..그래도.. > > DBGrid...
이선진
•
1999.11.13 05:30
2
COMMENTS
/
0
LIKES
[급함]query시 'missing right quote' 에러의 근원적 대처요령
김영해
•
1999.11.13 05:46
이선진 wrote: > 쿼리문안에 ",',`등의 QUOTE 문자가 포함되어 있을 경우 'missing right quote' > error...
문영철
•
1999.11.13 18:49
김영해 wrote: > 이선진 wrote: > > 쿼리문안에 ",',`등의 QUOTE 문자가 포함되어 있을 경우 'missing ri...
진정한초보
1999.11.13 05:29
0
COMMENTS
/
0
LIKES
TDBGrid는 마우스 관련 이벤트가 없는데(Resize)..
고혜정
1999.11.13 05:20
0
COMMENTS
/
0
LIKES
매 해마다 변하는 데이터 처리
호
•
1999.11.13 05:12
1
COMMENTS
/
0
LIKES
MS-SQL에서 스트링 포맷함수가 뭐죠?
문영철
•
1999.11.14 00:29
호 wrote: > 안냐세여... > 이곳에서 많은 도움을 받곤하는 델초보입니다. > 요즘 MS-SQL서버 7.0을 사...
통신초보
1999.11.13 03:30
0
COMMENTS
/
0
LIKES
TCP/IP ServerSocket 의문
녹색바람
1999.11.13 02:25
0
COMMENTS
/
0
LIKES
폼이 맨위에 있기를 바랍니다. 간절히...
termy
•
1999.11.13 01:32
1
COMMENTS
/
0
LIKES
TQuery의 RecordCount의 의문점
SQL문을 이용해서 검색을 했는데 TQuery의 RecordCount가 -1(데이타가 있는 경우), 0(데이타가 없는 경우), 어떤 경우에는 데이타의 갯수만큼 나타나는 걸 확인했는데 데이타가 없을 경우 0이 나타나는 건 이해가 가는데 데이타가 있는 경...
김영대
•
1999.11.13 02:43
termy wrote: > SQL문을 이용해서 검색을 했는데 TQuery의 RecordCount가 > -1(데이타가 있는 경우), 0(...
왕초
1999.11.13 00:36
0
COMMENTS
/
0
LIKES
폼 최소화 문제...
배경호
•
1999.11.12 23:51
1
COMMENTS
/
0
LIKES
레포트 사용시 가변길이 데이터의 출력에 대하여
김영대
•
1999.11.13 02:06
배경호 wrote: > Quick Report를 사용하여 출력을 하고 있습니다. > 그런데, memo field를 출력해야 하는...
Del초보
•
1999.11.12 23:43
1
COMMENTS
/
0
LIKES
UpdatePending을 쓰는 방법은?
이재식
•
1999.11.13 07:23
Del초보 wrote: > dbedit와 dbgrid를 쓰고 수정이나 insert는 dbedit에서만 하고 있습니다. > 어떤 recor...
김남일
1999.11.12 23:35
0
COMMENTS
/
0
LIKES
다운 안돼는 ISAPI프로그램 찾음!
최종선
•
1999.11.12 23:13
2
COMMENTS
/
0
LIKES
오라클 에러메세지 표시
김영대
•
1999.11.12 23:26
최종선 wrote: > ApplyUpadte시 오라클 DB의 에러메세지를 사용자에게 messagebox로 바로 보여주거나 > ...
Del초보
•
1999.11.13 00:48
제가 시작한지가 며칠 안되서 잘써주신걸 보고도 응용을 못하는군요.-_-;; 지금 상황은 이렇습니다.Quer...
다급한놈...
•
1999.11.12 23:09
2
COMMENTS
/
0
LIKES
[질문2...]ExecSQL에관한 질문
뻥쟁이
•
1999.11.13 01:36
꼭 그렇지 만은 않습니다. 동적쿼리란 것을 쓰지요 procedure .......... var TempQry : TQuery; beg...
다급한놈...
•
1999.11.13 03:14
많은 도움됐습니다.. 감사합니다..
nektar
•
1999.11.12 23:12
1
COMMENTS
/
0
LIKES
혹시 이렇게 출력 할수 있습니까?
A-ONE System
•
1999.11.13 06:46
Sub Detail Band를 사용하시면 될겁니다... 정확한 자료를 보내주어야 하는데 죄송합니다. 그리고 델파이...
다급한놈...
•
1999.11.12 23:03
1
COMMENTS
/
0
LIKES
[질문..] 데이타베이스에 우측으로 넣을순없는지
오현수
•
1999.11.15 00:26
다급한놈... wrote: > 쿼리를 사용해서 디비그리드로 데이타을 불러오면 우측정렬이 있잖아요.. 그런데.....
chobo
•
1999.11.12 22:15
1
COMMENTS
/
0
LIKES
newpage..
이재식
•
1999.11.13 00:44
chobo wrote: > 퀵 레포트에서..... > 일정한 서식을 갖춘 출력물을 만들려고 합니다.. > > 타이틀부...
최장민
•
1999.11.12 22:12
1
COMMENTS
/
0
LIKES
MySQL 에서 ODBC 설치를.....
갱수
•
1999.11.12 22:26
최장민 wrote: > 오늘 제가 묻고 싶은 질문은 다름이 아니라... > 데이터베이스.....중에서도 MySQL에 관...
찬이
•
1999.11.12 21:44
1
COMMENTS
/
0
LIKES
ActiveForm 을 배포시 서명 문제
TeamX
•
1999.11.13 00:15
http://www.verisign.com/ 에가서 받으세요. 400달러입니다. 자세한건 저도 잘 모릅니다. 찬이 wrote...
termy
1999/11/13 01:32
Views
205
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> SQL문을 이용해서 검색을 했는데 TQuery의 RecordCount가
> -1(데이타가 있는 경우), 0(데이타가 없는 경우),
> 어떤 경우에는 데이타의 갯수만큼 나타나는 걸 확인했는데
> 데이타가 없을 경우 0이 나타나는 건 이해가 가는데
> 데이타가 있는 경우에 -1이 나오는 경우와 개수만큼의 숫자가
> 나오는 경우의 차이는 뭔가요?
사용하는 DB가 로컬에 있는 XBase계열의 DB라면 이런 문제가 없지만
C/S 환경이라면 이런 문제가 발생합니다
결론부터 말씀드리면 RecordCount 는 믿을만한것이 못됩니다
BDE는 data-fetching 메커니즘이 있어서 만약 질의한 레코드 갯수가
많을경우 화면의 DBGrid에 한번에 20 개만 보인다면 화면스크롤시 모래시계가
중간중간에 보일겁니다(DBGrid가 아니더라도 마찬가지 입니다)
즉 질의를 했다고 해서 자료를 다 가지고 오는것이 아니라 중간중간에
필요한 페이지단위로 가져오는 것입니다
하지만 이미 가져온 레코드는 refresh 를 시키지 않는한 보존됩니다
그래서 RecordCount가 -1 이라는건 모든 자료를 fetch 하지 않아서 그렇습니다
이때는 강제로 fetch하게 하는 방법이 있는데 간단히 아래처럼
Query.Open;
Query.Last;
Query.First;
하시면 됩니다
Last를 하려면 별 수 없시 다 가져와야 겠죠...
하지만 단지 레코드 갯수만 알아내려면
SELECT COUNT(*)
FROM 테이블
해서 갯수만 질의해 오는것이 트래픽 문제를 줄일 수 있습니다
또한 단지 조건에 맞는 레코드가 있는지 판단하려면 Query.IsEmpty 를 사용하거나
Query.Eof and Query.Bof 를 사용하세요