Q&A

  • InterBase에서 Delete시 문제 입니다.
InterBase 에서 TIBDataSet 을 DeleteSQL을 이용 데이타를 전부 삭제하고
다른 데이타를 기록하는 부분을 만들고 잇읍니다.

헌데 이렇게하면 GDB파일의 크기가 계속 해서 늘어나더라구여.

A 와 B 테이블이 잇을경우, B 테이블을 전부 삭제하고, A 내용을 B에 추가
하고, 다시 B에 레코드를 전부 삭제하고, A의 레코드를 B에 추가하고, 이런
루틴을 반복하게 되면. B가 들어 있는 데이타베이스의 GDB 파일이 A의 크기만큼
계속해서 늘어 나게 됩니다.

삭제할때 물리적인 삭제는 안되고, 그냥 레코드에 삭제 표시만 하는것 같습니다.

with IBDataSet do
begin
  Close;
  DeleteSQL.Clear;
  DeleteSQL.Add('DELETE FROM TABLENAME')
  Open;
end;

이런식으로 햇는데, Delete시 실제 하드 용량도 줄어 들수 있게 하는 방법좀 알려
주시기 바랍니다.
그럼 좋은 하루 되세여.
3  COMMENTS
  • Profile
    전계진 2003.10.09 18:51

    Open;  ----->  ExecSQL;
    으로 써보세요
  • Profile
    송영식 2003.10.09 21:58
    Delete가 안되는 문제가 아니고여...
    Delete문은 제대로 실행되는데여,
    Table이 차지하고 잇는 하드 용량이 줄어들지 않는다는 문제입니다.

    실제로 레코드 수나 검색을 해보면, 확실히 로직상으로는 삭제가
    되는거 같은데여, GDB의 용량은 줄어들지 않는군여.

    하여튼 답변감사드리고여, 좋은 하루 보내세여.
  • Profile
    [*^^*] 2003.10.11 04:38


    Pack을 해주셔야되요..
    delete만 한다고 용량은 줄지 않거든요..

    • K모씨
      2003.10.10 20:08
      우선 파스칼 책을 참고하시는게 좋을 것 같습니다. 간단히 말씀드리면 Program XXXXXX uses &nbs...
    • 박희순
      2003.10.11 18:29
      답변 감사드립니다.. ^^ 님께서 말씀해주신것 처럼 프로젝트 소스를 수정해야 되더군요.. 하루종일 두눈 ...
    • 임형호
      2003.10.11 02:11
      중단된지 아주아주 오래됐구요. 음... 예전에... 제가 학생일때 세미나 참가자한테 무료로 주었던 기억...
    • 최병구
    • 2003.10.10 02:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • SEN
      2003.10.10 01:54
      a 가 1인경우와 그렇지 않은경우, 모두 case 문은 실행됩니다.. Result 값을 넘겨줬다고해서.. 해당 f...
    • 델파이Go!
      2003.10.10 02:24
    • 정성헌
    • 2003.10.09 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김기원
      2003.10.10 06:28
      다를수도 있지만.. 비슷한 경우가 있어서요... ^^ 예전에 Oracle에 접속 하려고 할때 프로그램(실행파일...
    • 이중철
      2003.10.10 00:58
      일반적인 Linked List라면 처리에 고심하시지 말고 TList를 사용해서 써보세요 저도 다 바꾸었어요...
    • 델파이Go!
      2003.10.10 01:48
      죄송하지만 간단한 샘플 코드라도 좀 올려주시면 안될까요? 헬프 봤는데 어떻게 사용하는지 잘 모르겠네요...
    • 델파이Go!
      2003.10.10 02:47
      관련 자료 찾다보니까 Tlist에 대해서 설명한 게 있어서 올립니다. 그리고 예전에 파워러브 델파이 라는...
    • 최용일
      2003.10.10 00:15
      안녕하세요. 최용일입니다. 레코드내에 레코드를 포함해서 정의할 수 있구요... 정의하는 표현식이 잘못...
    • 델파이Go!
      2003.10.10 00:41
    • 김정모
    • 2003.10.09 20:16
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 남혜영
      2003.10.09 20:28
      select  tt.store_cd, tt.midd_cd, tt.midd_name, floor(tt.b_amt/1000), floor(tt.c_amt/1000) ...
    • 김정모
      2003.10.09 20:58
      남혜영님 답변 감사합니다. 덕분에 잘 해결 됐습니다. 근데 한가지만 더 질문 드릴께요.. 퀵리포트의 QR...
    • 남혜영
      2003.10.09 21:05
      질문이 10000을 10,000으로 쓰고 싶다는 건가요?? QRExpr에 보시면 Expression이 있습니다. 이곳에 다음...
    • 김정모
      2003.10.09 21:13
      답변감사합니다.. 더 열씨미 노력해도 저도 님처럼 남에게 도움을 줄 수 있는 고소가 되고 싶네요
    • 남혜영
    • 2003.10.09 19:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2003.10.10 19:36
      직접 변화된 값을 넣어보시지요.. 제가 해본건 아니지만 다른분이 짜신 코드부분에 그렇게 룩업을 걸...
    • 이철승
    • 2003.10.09 19:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 별볼일없는
      2003.10.09 20:28
      질문을 잘못 이해하고 있는건지 모르겠지만... Fixedrows를  잡아 주시면 Fixed 컬럼은...
    • 이철승
      2003.10.09 20:45
      스크롤 해도..맨위의 위의 그림의 제목이 있는 로우가..항상 보여야되는건데여. 그러니깐..첫번째 로...
    • 별볼일없는
      2003.10.10 19:35
      ^^; 그러니깐 제목 row가 항상 고정이 되어야 된다는 말씀아니신가요? grid 속성에 Fixedrows 가있...
    • [ROOKIE]
      2003.10.09 23:29
      할일이 없어서 --; 해봤는데.. 진짜 많이 늘어나네요. 위저드로 만들면 Uses 절에 포함시키는게 이 두개...
    • YYpBD
      2003.10.10 01:59
      ShowMessage 따라가보시면 TMessageForm을 내부에서 생성시킵니다. 이미 TForm을 쓰고 있는거죠 ^^; ...
    • 최용일
      2003.10.10 00:19
      안녕하세요. 최용일입니다. 둘 다 똑같은 DLL이구 차이점이라면 OCX는 기본적으로 확장자를 .ocx를 쓰구...
    • 조장선
    • 2003.10.09 03:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.10.11 06:44
      oracle 버젼이 어떤지 알고 싶군요.. 해결 방법은    1.  Inline view를 만들어서...
    • 별볼일없는
      2003.10.09 20:22
      답변이 될지 모르겠지만... 제가 잔머리는 좀 쓰거든요 참고 하시길... 그리드를 DBGrid만 아니면...
    • 최용일
      2003.10.10 00:26
      안녕하세요. 최용일입니다. 아래와 같이 해보세요. var     S: string;  ...
    • 오범석
    • 2003.10.09 01:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • [ROOKIE]
      2003.10.09 23:17
      트레이 아이콘을 사용할때 X 버튼을 누르면 프로그램이 종료되지 않고, 트레이 아이콘으로 숨길때 이런 현...
    • aaaa
    • 2003.10.09 01:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 임준희
    • 2003.10.09 00:50
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송영식
    • 2003.10.09 00:05
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전계진
      2003.10.09 18:51
      Open;  ----->  ExecSQL; 으로 써보세요
    • 송영식
      2003.10.09 21:58
      Delete가 안되는 문제가 아니고여... Delete문은 제대로 실행되는데여, Table이 차지하고 잇는 하드 용량...
    • [*^^*]
      2003.10.11 04:38
      Pack을 해주셔야되요.. delete만 한다고 용량은 줄지 않거든요..
    • 임운선
    • 2003.10.08 23:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2004.01.09 19:46
      이벤트 도는것이 버튼을 클릭할때인것 같은데요.. TForm에 Key입력받는 이벤트가 따로 있습니다. 그곳에 ...