일반적으로 프라이머리 키가 없는 테이블을 업데이트할 때 발생하는 문제입니다
테이블에 프라이머리 키를 설정하시면 될 듯 합니다.
참고로 프라이머리 키가 없는 경우엔 모든 필드의 값을 가지고 해당 레코드를 찾으려고 합니다.
그런데 두군데서 수정이 이루어지게 되면 이런 문제가 발생하는 것이죠.
하병수 님이 쓰신 글 :
: DataBase콤포넌트와 테이블 콤포넌트를 이용해서 데이타를 수정할 수 있는 프로그램을 작성중에 있습니다.
: 구현할 프로그램 기능:
: -. A테이블의 정보를 수정
: -. 커밋 이전의 값을 화면에 보여줌
: -. Commit전에 변경이전의 값과 변경이후의 값을 로그에 남기고 commit
: 사용 콤포넌트 및 용도
: DataBase1 : DB접속정보를 가지고 있음
: DataBase2 : DB접속정보를 가지고 있음
: Table1 : DB Table 연결(기존값을 보여주기 위한 콤포넌트)
: Table2 : DB Table 연결(변경을 위한 콤포넌트)
:
: 현재 DataBase 콤포넌트를 두개 두어 하나는 Commit되기 전의 변경정보를 가지기 위한 것이며 하나는 직접 DB정보를 수정할 적에 사용할 목적으로 DataBase 콤포넌트를 2개를 사용하였습니다. 개발환경에서는 별 문제없이 정상적으로 의도하였던 기능이 수행되었으나 작업자 PC에 설치를 하면 테이블 수정시에 제목과 같은 오류가 발생이 됩니다.
: 개발 PC에서는 정상동작하는 걸로 보아 클라이언트 설치 문제라 생각하고 BDE의 정보를 비교해 보았으나 별다른 해결점을 찾지 못하였습니다.
: 현재도 개발PC에서는 정상적으로 동작이 되고 있습니다.
:
: 고수님의 많은 도움을 부탁드리겠습니다.
|