인터베이스 DB를 IBX로 연결해서 테스트를 하고 있습니다.
IBdatabase1, IBTransaction1에 IBDataSet1이 연결되어 있구요..
IBDataSet1의 쿼리는 DataSet Editer에서 Generate Sql로 작성하였습니다.
IBDataSet1의 CachedUpdate는 True 상태..
흠..질문 하고자 하는 것은..
데이터 입력시 현재 저장버튼에 코딩을
try
IBDataSet1.Post;
IBDataSet1.ApplyUpdates;
IBTransaction1.CommitRetaining;
except
showmessage('문제로 인해 취소하였습니다. '
+ '확인 후 시도하세요.');
exit;
end;
로 사용하였는데.. 이방법으로 추가나 수정시 키 필드값을 중복 시켜 입력하면
코딩상 Cancel이 없는데도 불구하고 바로 Insert나 Edit모드가 취소되고 조회로 돌아가더군요..
입력하던 다른 필드의 내용도 싹~~~~ 없어진체.. -_-!
IBConSol에서는 중복된 키 값이 들어가면 사용자가 임의로 취소나 중복되지 않고 키 값을 입력시키기 전에는 수정한 레코드에서 삽입,수정 상태로 계속 머물러 있잖아요..
IBConSol처럼 잘못된 값이 들어왔을 경우 작업을 취소시키는 것이 아니라 바른 값이 입력되기를 대기상태로 있으려면 어떻게 해야 하는지 알려주셨으면 합니다.
알고 계시는분.. 귀찮다고 지나 치지 마시고.. 꼭 부탁 드립니다.^^
그럼 좋은 시간 되시길..