Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12626] Re:Re:[질문] ClientDataset에서 Delete를 실행하면 이상합니다.
고민중 [] 1418 읽음    2009-04-20 17:19
먼저 관심가져 주셔서 감사합니다.

같은 자료를 가지고 앞에서, 뒤에서 해도 결과는 같네요.
실제 레코드가 18건이 있어 앞부터든 뒤부터든 중간에 레코드를 지우면서
while을 처리할 경우 while문에서 Eof, Bof는 처리되지만
처리되는 것을 디버깅해보면 처음 건수만큼 초과해서 처리되네요.
테스트레코드를 18건이 아니고 달리해도 그렇고요.
지금도 시간 날때마다 테스트해도 같습니다.

무슨 말씀인지 전에도 말씀드렸지만, 다시 말씀드리면 이렇습니다.
with data do
begin
  떡값 := 0;
  First;
  while not Eof do
  begin
    떡값 := 떡값 + 빵값;
    if 빵값 = 0 then delete else next;
  end;
end;

위와 같이 했을 때 처음 레코드가 18개이고 빵값이 100원 레코드가 15개, 0인 레코드가 3라면
떡값이 1500원 나와야 하는데.. 결과는 달라요.
물론 달리 코딩하면 원하는 값을 나오게 할 수 있지만,
제 머리로는 이해가 안되어 삽질하고 있습니다.

BDE나 다른 테이블류에서는 정상처리되는데 TClientDataSet에서는 위와 같네요...

다시한번 감사드립니다.

<사족>
  애고.. 여기 주인되시는 분께서 한 말씀주셨으면 하는 바램이 간절하네요.

+ -

관련 글 리스트
12596 [질문] ClientDataset에서 Delete를 실행하면 이상합니다. 고민중 1853 2009/04/13
12607     Re:[질문] ClientDataset에서 Delete를 실행하면 이상합니다. 무능력 1444 2009/04/15
12626         Re:Re:[질문] ClientDataset에서 Delete를 실행하면 이상합니다. 고민중 1418 2009/04/20
12606     Re:[질문] ClientDataset에서 Delete를 실행하면 이상합니다. 고민중 1430 2009/04/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.