Q&A

  • autoincrease 필드문제...
테이블이 다음과 같습니다.

customer.db

fieldname type

----------------------

id + *

name A

post A

address A



위와 같고, id를 key로 설정하였습니다.

customer.db를 ttable, tdatasource, tdbedit 로 연결하였는데

자료를 추가하면 가끔씩 key violation 오류가 납니다.

id가 autoincrease로 되어 있는데도 이런 현상이 가능한가요?

전 전혀 예상치 못했는데.....

프로그램이 중간에 다운되어서 트렌젝션이 불안전하게 종료되어 그런가요?

1  COMMENTS
  • Profile
    이재식 1999.10.16 20:37
    이양규 wrote:

    > 테이블이 다음과 같습니다.

    > customer.db

    > fieldname type

    > ----------------------

    > id + *

    > name A

    > post A

    > address A

    >

    > 위와 같고, id를 key로 설정하였습니다.

    > customer.db를 ttable, tdatasource, tdbedit 로 연결하였는데

    > 자료를 추가하면 가끔씩 key violation 오류가 납니다.

    > id가 autoincrease로 되어 있는데도 이런 현상이 가능한가요?

    > 전 전혀 예상치 못했는데.....

    > 프로그램이 중간에 다운되어서 트렌젝션이 불안전하게 종료되어 그런가요?



    이재식 Wrote :

    안녕하십니까?



    패러독스에서는 +타입이라하여 자동증가 필드형이 있죠.

    이것을 주키로 설정하셨네요.



    이 필드는 말그대로 자동증가필드타입이라

    수정이나 삽입때 전혀 건드릴 필요가 없는 것입니다.

    자신이 알아서 자체적으로 일련번호식으로 정리를 하죠.

    아직까지 이 필드에대한 에러를 발견하지 못했습니다.



    귀하께서 말씀하신대로 트랜잭션의 불완전한 종료가

    이러한 현상을 유발했을 거라 생각됩니다.



    가령, post명령어로 저장을 했다고 합시다.

    그런데, 실제로는 post명령어는 테이블에 저장을 하지 않습니다.

    왜냐하면, post명령어를 수행했어도, 다시 프로그램을 종료한뒤

    Tool을 이용해서 테이블을 닫은뒤 다시 열어보면

    여전히 데이터는 존재하지 않습니다.

    이런경우가 있을 것입니다.

    즉, 물리 DB에 실제 저장은 dbiSaveChange라는 BDE함수내지

    어떤 내부적 명령어가 수반된다는 얘기죠.



    그리고, ExecSQL역시 마찬가지입니다.



    패러독스에서도 확실히 저장하려면 commit가 수반되어야

    하는 것이죠.



    사용자가 그 자동증가 필드를 건드리지 않는다면(건드릴 필요도 없지요!1)

    이 필드 자체에서는 문제가 없을 거라 생각됩니다.



    그럼...



    • 임성룡
    • 1999.10.17 19:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.10.18 02:05
      음.. 질문의 요지를 정확하게 모르겠지만... 같은 해상도라면 (1024*768 등등) 같은 스케일로 나올텐데요....
    • 이양규
      1999.10.18 22:41
      전 Image, RTF, Memo 같은거 입력이나 수정할때는 Query를 쓰지 않고 TTable을 사용합니다. TDBImage, T...
    • 김연아
    • 1999.10.17 16:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.19 03:53
      김연아 wrote: > main program에서 dll을 call할때 oracle에 connect 합니다. > 그런데 장시간(8시간정도...
    • gwangjun
    • 1999.10.17 10:55
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고혜정
    • 1999.10.17 09:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.10.19 06:14
      고혜정 wrote: > memo컴포넌트에서 마우스를 드래그에서 특정 라인위에 놓았다고 할때, 전체 라인수중 그 ...
    • 은종범
    • 1999.10.17 02:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임혜정
      1999.12.27 23:41
      은종범 wrote: > 델파이로 isapi를 사용해서 홈페이지를 작성할려고 하는데 > 디버깅하는 방법은 없나요....
    • 김경수
      1999.10.31 06:19
      은종범 wrote: > 델파이로 isapi를 사용해서 홈페이지를 작성할려고 하는데 > 디버깅하는 방법은 없나요....
    • 황광일
      1999.10.18 18:35
      바로 제 싸이트에 오심됩니다. 어떤 일을 주로하시는 지는 모르지만...제 분야가 F.A다 보니 밤낮없이 ...
    • 김태화
      1999.10.17 21:18
      nikao wrote: > 똑! 똑! 똑! 안녕하세요. > 델파이에서 시리얼, 페러럴 통신을 할때 어떤 컴포넌트를 사...
    • 손창근
      1999.10.17 01:49
      안녕하세요.. 오공이 입니다.. vb에서 MSCOMM을 사용하셨다니 dELPHI에서도 별 무리 없이 사용하시겠네...
    • 김진철
    • 1999.10.16 22:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.16 23:15
      김진철 wrote: > - 안녕하세요.. 먼저 이재식님 답변 감사합니다..덕분에 해결 잘 되었읍니다.. > > - ...
    • 김진철
    • 1999.10.16 20:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.16 22:36
      김진철 wrote: > > - 델파이 초보 입니다 > - 먼저 답변주신 이재식님 감사합니다.. 덕분에 잘 해결 되...
    • 델초보
    • 1999.10.16 20:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.10.17 05:41
      델초보 wrote: > Delphi4에서 docking구현하는 예제 좀 부탁드립니다. > 오늘도 좋은 하루 되세요... ...
    • 이양규
    • 1999.10.16 19:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.16 20:45
      이양규 wrote: > 프린트 미리보기를 하는데요.... > TQuickRep컴포넌트를 이용하여 Preview메소드를 사용...
    • 이양규
      1999.10.16 21:21
      > 이재식 : > 안녕하십니까? > > 퀵레포트에서 만들어준 미리보기 화면이 마음에 안 드셔서 > 사용자 ...
    • 이양규
    • 1999.10.16 19:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.16 20:37
      이양규 wrote: > 테이블이 다음과 같습니다. > customer.db > fieldname type > -----------------...
    • 구창민
      1999.10.17 05:57
      장일형 wrote: > 판넬에 여러줄의 Caption 출력하는 법은 없을까요? > chr(13)을 사용해도 않되는데요. ...
    • 김수지
    • 1999.10.16 02:15
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.10.16 03:40
      김수지 wrote: > table을 사용한 dbgrid에서 단가를 입력하려고 했습니다. > > 단 , 단가 필드는 nume...
    • 김수지
      1999.10.16 18:32
      이재식 wrote: > 김수지 wrote: > > table을 사용한 dbgrid에서 단가를 입력하려고 했습니다. > > > ...
    • 이재식
      1999.10.16 19:42
      안녕하십니까? 저는 일전에 MSSQL 5.x에서도 그런 경우를 경험했는데, 7.x버전에서도 그런 문제가 발...
    • vincent
    • 1999.10.16 01:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박지훈.임프
      1999.10.24 19:45
      vincent wrote: > 안녕하세요.. > 델파이에서 만든 프로시저나 펑션을 다른언어(비주얼베이직)에서 > 사...