Q&A

  • "At Beginning of Table" "At End of Table"
안녕하세요.

제목과 같은 에러가 발생을 했는 데 아직까지 그 이유를 몰라서 해결을 못하고 있습니다.

일단 저는 2개의 테이블을 Master-Detail로 연결을 하였구요 두 테이블 모두 CachedUpdate를 사용하고 있습니다.



마스터 테이블의 레코드를 선택한 상태에서 버튼을 누르면 이전의 디테일 테이블의 내용을 모두 삭제하고 조건에 맞는 내용을 가져와서 디테일 테이블의 내용을 다시 인서트하는 루틴을 작성하였습니다. 이 루틴에서 에러가 발생하더군요.

이 에러가 발생하고 나서는 그 테이블에 대해 어떤 작업(ApplyUpdates, CancelUpdates, Close)을 하더라도 같은 에러가 나더군요.



MS-SQL을 사용하였을 경우에는 아무런 문제가 없었습니다. 그런데 MS-Access를 이용하여 테스트 하던 중에 이런 문제가 발생하였습니다.

dejanews에서 그 에러에 대한 내용을 찾아봤지만 정확한 답변이 없는 것 같더군요. 답변한 내용대로 해봐도 안되더라구요. 어떤 사람은 DBE의 버그라고 하던데 정확한 이유를 알고 싶습니다. 만약 BDE 자체의 버그라면 다른 방법을 모색해 봐야 하니까요.



현재 Access는 BDE에서 Native로 연결하여 사용하고 있습니다.

소스는 아래와 같습니다.



try

DetailTable.DisableControls;



while not DetailTable.EOF do

DetailTable.Delete;

finally

DetailTable.EnableControls;

end;



try

DetailTable.DisableControls;



while not Query1.EOF do

begin

DetailTable.Append;

//디테일 테이블에 내용 입력

Query1.Next;

end;

finally

DetailTable.EnableControls;

Query1.Close;

end;



델파이 버전은 5.0이고 BDE는 5.01입니다.

0  COMMENTS