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

C++빌더 Q&A
C++Builder Programming Q&A
[47029] ADO를 사용하는 중에 기본키값 생성에 관하여..
물소리 [jasonkrm] 1077 읽음    2006-11-09 12:15
안녕하세요..

ADO를 이용하여 MDB를 사용하고 있습니다.

프로그램의 처리방식은 기본적으로 사용자가 자료를 입력하고 저장을 누르면 Insert하고  그상태에서
다시 자료를 수정할 수 있어서 수정한 후 저장을 누르면 자동으로 Update되는 화면입니다.

테이블에서 사용할 레코드의 기본키값을 자동으로 부여하기 위하여 MAX값 + 1을 계산하여 키값으로
사용하고자 합니다.

그런데 의문가는것이 MDB를 단독으로 사용하는것이 아니라 여러명이 동시에 사용할 것입니다.
따라서 사용자가 동시에 테이블에 접근하는 상황이 발생하게 된다면 동시접근한 프로그램에서는
같은 키값을 계산하게 될것으로 추정이 되는데요. 이렇게 되면 Insert시 에러가 발생이 될것 같습니다.

이러한 오류를 방지하기 위해서는 어떤 방식을 사용하는지 궁금합니다.

키필드의 속성을 자동증가 형태로 사용할 수 있겠지만 이경우에는 저장된 키값을 제가 모르므로
저장된 위치로 이동하려면 난해한 문제가 발생합니다.
무조건 Last위치로 이동하려고 하니 이또한 동시에 여러명이 Insert가 된다면 사용자가 입력한
데이타가 반드시 마지막이라는 보장을 할 수가 없을것이라는 생각입니다.

여러명이 사용할 때는 위와 같은 문제가 발생할 가능성이 있는데 어떤식으로 처리하는지
알려 주시면 복받으실 겁니다..

날도 추운데 건강하십시요.

+ -

관련 글 리스트
47029 ADO를 사용하는 중에 기본키값 생성에 관하여.. 물소리 1077 2006/11/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.