예를 들어서 aaa라는 테이블에 주민등록번호라는 필드가 있는데 중복이 안되게 만들었습니다. 그런데 중복된 데이타가 들어갔습니다. 물론 에러가 나겠죠
그런데 이에러가 제가 짠 프로그램에서 만들어놓은 메시지가 아닌 DB에서 내놓는 메시지이라는 것입니다. 보기가 안좋아요
그런에러가 나면 제가 프로그램상에서 만든 메시지를 내보내는 방법이 없을까요? 제가 설명을 잘 못해서 이해가 잘 안갈지 모르겠지만 프로그램상에서 그에러를 파악해서 에러구문을 출력시키는 방법을 알고싶다는 겁니다.
위와같은 질문에 어떤분은 프로그램 소스상에서 중복을 검사하고 메시지를 내보라는 분이 있었는데 제가 5년동안 그 짓을 하고 먹고 살았습니다.
하다보니 내 자신이 무슨 짓을 하는가 하고 생각이 들어서요
왜 DB가 해야 할일을 지금까지 내가 (?)빠지게 했을까?
중복 책임은 프로그래머인 내가 아닌 DB가 할일이 아닌가?
비싼놈(DB)을 사가지고 아무 일도 안시키고 나만 새바찌게 일을 하는거 아닌가 하는 생각이 들었습니다. DB에서 에러를 던지면 그 에러를 소스상에서 잡아서 요리를 할수 없을까요?
지금부터라도 DB를 부려먹고 싶습니다.
도와 주세요
간단한 코드를 첨부합니다.
try
ADOTable1.Post;
except
on E: EDatabaseError do
begin
ShowMessage(E.Message);
ADOTable1.Cancel;
end;
end;