Q&A

  • 데이터 저장방법에 대해 문의합니다.
쿼리에서 데이터를 저장이나 수정, 삭제할때 ExecSQL을 사용하였는데,

ExecSQL과 COMMIT과의 차이점을 알고자 합니다.



그리고, 데이터 저장시 기존에 동일한 키로 데이터가 존재할 경우에

에러 처리하는 방법도 알려주시면 감사하겠습니다.

1  COMMENTS
  • Profile
    aparadin 2001.09.26 18:59
    붉은노을 wrote:

    > 쿼리에서 데이터를 저장이나 수정, 삭제할때 ExecSQL을 사용하였는데,

    > ExecSQL과 COMMIT과의 차이점을 알고자 합니다.

    >

    > 그리고, 데이터 저장시 기존에 동일한 키로 데이터가 존재할 경우에

    > 에러 처리하는 방법도 알려주시면 감사하겠습니다.

    =============================================================

    그건요 정확한지 모르겠지만 트랜잭션에서 autocommit이 ture가 되어있으면

    exec가 왔을때 바로 실행하는거고 false면 언제처리하는지는 모르겠는데....

    아무튼 exec는 쿼리에서 일단의 명령어 가령 select라던가 update 혹은 delete를

    의 문장의 끝을 알려서 하나의 명령을 보냈다..

    라고 알려주는거고 commit은 들어오는 명령에대한 처리의 가,부 를 정하는것으로

    알고있거든요 고수님들이 보시고 틀렸으면 가르쳐 주시고요

    두번째는요

    function Locate(const KeyFields: string; const KeyValues:

    Variant; Options:TLocateOptions): Boolean; override;

    이걸쓰셔서 저장하기전에 그 KEY 가 존재하는지 살펴보시면 되겠네요.



    가령 학교에서 학생 번호가 pk니까.



    if Locate('디비에서 번호의 필드이름','클라이언트에서 번호값',옵션

    [loPartialkey,loCaseInsensitive]) then begin

    (정확히 일치) (비스무리일치)

    어쩌고 저쩌고 ;

    end;

    근데 물어보신게 이게 맞나????????????