Q&A

  • 파라독스에서 packing 하는 법좀.......
파라독스 db를 사용하면
packing 을 해야 db에서 지우고 삽입하는 일들이
저장이 된다고 하는데여

몇주동안 돌아다니며 찾아도
packing하는 방법은 없거든여.........
고수님들 팩킹 하는 법 좀 알려주세요...........
꼭 이여

팩킹이라는 것도 몰 하는건 지 몰겠거든여.......

그럼 좋은 하루 되세여
2  COMMENTS
  • Profile
    박재용 2002.05.09 21:29
    ^^ 패킹을 시켜야 지우고 삽입하는 일들이 저장되는것은 아닙니다..
    파라독스는 기본적으로 작업을할때 메모리버퍼에서 작업되는것으로
    알고있습니다.. 프로그램이 정상적으로 종료하기전에 다운된다던지하면
    앞전에 작업하면서 수정하고.. 삭제하고.. 저장하던것들이 전부
    없어져 버립니다.. 물리적으로 저장하기 않았기 때문이죠.. ^^
    그래서 파라독스DB를 사용하시다면..  테이블 or 쿼리의 이번트에 보시면
    AfterPost ,AfterDelete에  
    dbisavechange(테이블쿼리명.Handle) ;
    하시면 됩니다.. ^^;; 몇년전에 로칼프로그램짤때는 참 파라독스 많이
    이용했어요.. ^^ 안전성이 좀 떨어지긴 했어요 ^^ㅋㅋㅋ 공짜니가 ^^;;
    참 unit란에 DbiProcs 추가하세요..


  • Profile
    최석기 2002.05.09 21:14
    DBase III나 Paradox같은 파일기반 디비의 경우에는 삭제를 시키더라두 물리적으로 삭제가 일어난게 아닙니다.

    님께서 한번 테스트를 해보시지요. 여러 레코드를 입력한디 레코드를 여러개 지워보세요. 해당 디비 파일의 사이즈가 줄어드는지..

    아마 사이즈의 변동은 없을껍니다.

    실제 이 넘들은 지우는게 아니라 어떤 플래그를 가지고 있으면서 그 플래그가 체크된 넘은 지워졌다고 인식을 시키는거죠..

    그래서 번호가 연속되게 받지 못할꺼예요..

    그게 가능하게 하려면 Table Pack라는걸 해주어야 하거든요..

    BDE 헬프에서 Packing 키워드로 찾아보세요..

    설명이랑 예제까지 있거든요.

    참고로 Paradox는 DbiDoRestructure라는 함수를 사용해서 Packing을 합니다.