Q&A

  • ApplyUpdates가 안되요... (정말급해요)
Mysql을 이용하여 마이다스를 작업중입니다.

전에 오라클로 작업한 것을 mysql로 변환중인데 오라클에서는 제대로 작동

하던것이 mysql에서 작업을 하지 않습니다.



자료를 추가, 수정, 삭제할때 ApplyUpdates(-1)가 제대로 되지 않는것 같습니다.

물론 Error도 없고 TClientDataSet.ChangeCount 를 확인하면 제대로 변환된 숫자가

나오고 Client 작업화면에서는 추가, 수정, 삭제된것이 나오는데 프로그램을

종료했다가 다시 실행하면 작업한 내용이 전혀 남아 있지 않습니다.

BeforeApplyUpdate Event 와 AfterApplyUpdate Event를 확인해봐도 제대로 작동된

것 같습니다.



참고로 mysql 연결은 winzeos 콤포넌트를 사용했습니다.



고수님들의 빠른 답변 부탁드립니다.



참고로 에러는 전혀 없습니다.

3  COMMENTS
  • Profile
    太郞 2001.08.29 02:45
    저도 그런 적이 있어서 애를 먹은 적이 있지요....

    저는 델파이5+오라클8+마이다스에서....

    님과 같은 경우가 있었지요....

    클라이언트의 sql문과 서버의 sql문을 모두 대문자로 바꾸니...

    되더군요...

    도움이 되시길....^^;

  • Profile
    성더기 2000.12.07 19:43
    안젤726 wrote:

    > Mysql을 이용하여 마이다스를 작업중입니다.

    > 전에 오라클로 작업한 것을 mysql로 변환중인데 오라클에서는 제대로 작동

    > 하던것이 mysql에서 작업을 하지 않습니다.

    >

    > 자료를 추가, 수정, 삭제할때 ApplyUpdates(-1)가 제대로 되지 않는것 같습니다.

    > 물론 Error도 없고 TClientDataSet.ChangeCount 를 확인하면 제대로 변환된 숫자가

    > 나오고 Client 작업화면에서는 추가, 수정, 삭제된것이 나오는데 프로그램을

    > 종료했다가 다시 실행하면 작업한 내용이 전혀 남아 있지 않습니다.

    > BeforeApplyUpdate Event 와 AfterApplyUpdate Event를 확인해봐도 제대로 작동된

    > 것 같습니다.

    >

    > 참고로 mysql 연결은 winzeos 콤포넌트를 사용했습니다.

    >

    > 고수님들의 빠른 답변 부탁드립니다.

    >

    > 참고로 에러는 전혀 없습니다.



    그거 Commit문제가 아닐까여?

    작업을 시작하기 전에

    Database1.StartTransection을 해서 트랜잭셜을 걸구여

    try

    작업내용...

    .

    .

    .

    Database1.Commit;

    except

    Database1.RollBack(?);

    end;



    일케 해보세여...

  • Profile
    타락천사 2000.12.07 19:40
    안녕하세여..타락임다..^^



    전 고수가 아닌데 대답해두 되나여? ㅠㅠ



    우선 TClientDataSet의 LogChanges 속성이 False인가 보세여..



    False면 True루 바꾸시면 문제 해결..



    그게 아님.. 디버깅을 해야함다..



    ApplyUpdates(0) 으로 실행하세여..



    그리구 OnReconcileError 이벤트에서 에러를 잡으세여..



    OnReceoncileError 이벤트의 인자중 DataSet 인자의 각 필드에는



    OldValue, NewValue, CurValue라는 속성들이 포함되어 있어여..



    레코드를 변경하기 전의 필드값, 변경된 후의 필드값, 현제 필드값이져..



    그중 CurValue 는 변경하면 안됩니다..



    글구, ClientDataSet 에 Session이 빠졌는가 함 보시구..



    글구, DataSet을 Cache에 쓰진 않았나두 함 보시구..



    구래두 에러가 안잡히면, MS-SQL 쪽의 설정문제라구 생각됨다..



    즐푸하세여..



    타락천사...^^