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

델파이 Q&A
Delphi Programming Q&A
[3525] [해결] 3517 참고 하세요!!
iosys2 [ ] 1295 읽음    1998-07-04 09:20
두 가지 방법이 있습니다.

  1.  자료의 중복 유무를 먼저 체크하여 있으면 메세지를 뿌리는 방법과,

         if Table1.locate('code', 'Code0001', []) then

            ShowMessage('중복이다!!')

         else
                    
             - 아래 (1) 번 코딩 -



  2.  일단 Table.Post()를 하여 테이블의 OnPostError 이벤트시

      중복을 피해 가는 방법이죠.

      (1) 먼저,
        
         with Table1 do begin

             Append();

             FieldByName().AsString  := 'Code0001';

             Post();
          
         end;

      (2) 여기는 테이블의 OnPostError
          
         procedure TdmCmUpr.tblUprPostError(DataSet: TDataSet; E: EDatabaseError;

           var Action: TDataAction);

         begin

             with EDBEngineError(E) do begin
                 case Errors[ErrorCount - 1].ErrorCode of
                     DBIERR_HEADERCORRUPT : 코딩...
                     DBIERR_FILEBUSY      : 코딩...
                     DBIERR_DIRBUSY       : 코딩....
                     DBIERR_KEYVIOL       : ShowMessage('중복되는 코드가 존재합니다!!');
                 end;
             end;

             DataSet.Cancel();

             Action    := daAbort;

         end;

좀더 탄력적인 코딩을 위해선 1번을 추천합니다.


그럼, 도움이 되길... 즐통하세요!!

p.s 내껀 왜 대답이 안 올라오지????????


+ -

관련 글 리스트
3525 [해결] 3517 참고 하세요!! iosys2 1295 1998/07/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.