Q&A

  • 트랜잭션이 여러개 일때..
업데이트를 하려고 하는데 트랜잭션이 8개정도 됩니다. 한번에 8개를 한뒤 커밋처리를 하려고 합니다. 어떻게 해야 될까요?

database1.commit 를 맨마지막에 넣으라는데.. DLL 화일이라 데이타베이스를 메인에서 가지고 있거든요 그래서 쿼리만 넣었읍니다.

그랬더니 위의 커밋이 인식을 못해요.. 그리고

with Qry_m do

begin

try

sql.clear;

sql.add('update 테이블명');

sql.add('set 주절주절');

sql.add('주절주절');



sql.add('update 테이블명');

sql.add('set 주절주절');

sql.add('where 주절주절');



ParamByName('input_id_integer').ASstring := S_max_id;

ParamByName('input_id_string').asstring := S_max_id;



execsql;

except on E:EDBEngineError do

begin

MYDBError := E.Errors[1];

UDP_UsererrorMsg(MYDBError.Message,'CCSFE8888');

// Database1.Rollback;

Screen.Cursor := crDefault;

Close;

exit;

end;

end;

Database1.Commit;

end;





위의 문에서 execsql 이 한번 들어가는 것맞나요? 그리고 커밋은 엊제 들어가지요???

도대체 나도 이해가 안가는 것을 질문하려니.. 질문이 어수선했읍니다. 감사합니다.

답변을 메일로 주시면 감사하겠읍니다. 답변을 주시는 분에게 감사의 마음이 답긴 카드메일을 보내드리겠읍니다.



1  COMMENTS
  • Profile
    스나이퍼 2001.03.02 22:45




    > try

    > sql.clear;

    > sql.add('update 테이블명');

    > sql.add('set 주절주절');

    > sql.add('주절주절');

    >

    > sql.add('update 테이블명');

    > sql.add('set 주절주절');

    > sql.add('where 주절주절');

    >

    > ParamByName('input_id_integer').ASstring := S_max_id;

    > ParamByName('input_id_string').asstring := S_max_id;

    >

    > execsql;



    다른건 몰라두...위에서 execsql는 하나가 아닌 2개가 들어가야 하겠네여..제가 아는바로는...UPDATE문이건 INSERT문이건...하나의 구문마다 SQL구문을..실행 해 줘야하는 걸루 알고 있네여..전 지금 에러 핸들링하구 예외처리구문때문에..버부적 거리구 있는뎅..