Q&A

  • 파라독스의 AutoIncrement 타입 필드로 되어 있는경우?
[질문]파라독스의 AutoIncrement 타입 필드==> 예를들어 필드명 KeyNum으로



정의 되어 있는 경우 KeyNum필드에 값이 1부터 10까지 저장되어 있는 상태에서



EmptyTable명령으로 자료를 완전히 삭제하고 다시 레코드를 추가하면



AutoIncrement 필드의 값이 1부터 시작이 되지 않고 11부터 시작이 되던데



이것을 1부터 자동적으로 부여할려면 어떻게 해야 합니까?





3  COMMENTS
  • Profile
    최석기 2000.09.20 19:59
    안녕하세요.

    델파이세상(http://www.freechal.com/delphiworld)에 최석기입니다.



    일반적으로 파일기반 DB(Paradox,DBase)등은 삭제를 하더라도 내부적으론 삭제가 되는것이 아니라 삭제 플래그 같은 것으로 표시하여 보이지만 않게 됩니다.



    그래서 삭제를 하더라도 파일 사이즈 자체가 줄지 않죠..



    그래서 물리적인 삭제를 하려면 Pack을 시켜주어야 합니다..



    자세히 기억은 않나는데 DBase경우는 DBIPackTable이라는 함수를 이용하시면 되고요.

    Paradox의 경우는 DbiDoRestructure 함수를 사용하시면 될꺼예요..



    도움말에 예제가 있던걸로 기억되니까 도움말을 참조하세요..



    양용민 wrote:

    > [질문]파라독스의 AutoIncrement 타입 필드==> 예를들어 필드명 KeyNum으로

    >

    > 정의 되어 있는 경우 KeyNum필드에 값이 1부터 10까지 저장되어 있는 상태에서

    >

    > EmptyTable명령으로 자료를 완전히 삭제하고 다시 레코드를 추가하면

    >

    > AutoIncrement 필드의 값이 1부터 시작이 되지 않고 11부터 시작이 되던데

    >

    > 이것을 1부터 자동적으로 부여할려면 어떻게 해야 합니까?

    >

    >

  • Profile
    양용민 2000.09.20 20:54


    Pack을 시키더라도 파라독스의 AutoIncrement의 필드의 값은



    그대로 유지가 되면서 가거든요.



    소스와 Database DeskTop의 PackTable를 체크해서도 마찬가지로 필들의 값이 1부터



    진행이 안되고 마지막 자료 값의 +1을 더한 값이 레코드에 출력이 됩니다.









  • Profile
    최석기 2000.09.20 23:19
    정말로 제가 직접해보니까 그러네요.



    근데 AutoIcvrement 필드가 어느 중간 레코드가 하나 지워진다고 다시 첨부터 번호가 매겨지는게 아니라 그냥 그 번호는 빠져버리고 가는것이나 마찬가지 이치인거 같은데요.



    도움이 못되었네요.



    양용민 wrote:

    >

    > Pack을 시키더라도 파라독스의 AutoIncrement의 필드의 값은

    >

    > 그대로 유지가 되면서 가거든요.

    >

    > 소스와 Database DeskTop의 PackTable를 체크해서도 마찬가지로 필들의 값이 1부터

    >

    > 진행이 안되고 마지막 자료 값의 +1을 더한 값이 레코드에 출력이 됩니다.

    >

    >

    >

    >