그리드상에서 중복된 자료를 입력하고 상하방향키를 움직일 경우 Key Violation
에러 메세지를 발생합니다. 이 메세지를 제가 원하는 메세지 예를 들어
"자료가 중복 되었습니다.'로 출력을 하고 싶습니다. 어떻게 해야 처리가
가능한지요. 테이블의 OnPostError 이벤트에서는 되지가 않더군요. 버튼컴포넌트에서
자료를 저장하는 루틴을 추가할 경우 Try ~ Except ~ End 문으로 처리하면 되지만
그리드상에서는 어떻게 처리 해야 하는지 모르겠네요.
> 그리드상에서 중복된 자료를 입력하고 상하방향키를 움직일 경우 Key Violation
>
> 에러 메세지를 발생합니다. 이 메세지를 제가 원하는 메세지 예를 들어
>
> "자료가 중복 되었습니다.'로 출력을 하고 싶습니다. 어떻게 해야 처리가
>
> 가능한지요. 테이블의 OnPostError 이벤트에서는 되지가 않더군요. 버튼컴포넌트에서
>
> 자료를 저장하는 루틴을 추가할 경우 Try ~ Except ~ End 문으로 처리하면 되지만
>
> 그리드상에서는 어떻게 처리 해야 하는지 모르겠네요.
>
안녕하세요. 배스마니아 조덕진입니다.
델파이 초보라 도움이 될지 모르겠네요.
다음과 같은 코드를 추가하시면 될 것 같네요.
private
{ Private declarations }
procedure AppException(Sender: TObject; E: Exception);
procedure TForm.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
end;
procedure TForm.AppException(Sender: TObject; E: Exception);
begin
if pos('Key violation', E.Message) > 0 then
ShowMessage('Key Violation Error.!')
else if pos('Update failed', E.Message) > 0 then
ShowMessage('Update Faied Error.!')
else
ShowMessage(E.Message);
end;
이곳 Q&A에 있던 내용입니다. 해당 폼에서 예외처리가 필요한 경우 사용하시면 될 것
같네요.
도움이 되셨길 바랍니다.
그럼... 즐코되세요...