Q&A

  • 두개의 쿼리컴포를 캐쉬한후 ApplyUpdates로 두개 모두 데이터베이스에 반영.
안녕하세요?

델파이 4.0 c/s,Mssql7.0,WinNt 4.0을 사용중입니다..

데이터를 입력하는 부분이 두부분으로 되어 있습니다.. 그래서 테이블도 두개 이지요..

속도 문제로 테이블컴포는 안쓰고 모두 쿼리 콤포를 사용했습니다.

***첫번째 입력 부분

쿼리A이고 이부분은 대부분 DBEdit컴포들이 있습니다.

새로운 자료 입력시는 Append를 시켜주고 DBEdit에서 직접 수정및 입력을 합니다..

쿼리A의 설정은 RequestLive는 True, CachedUpdates속성도 True..

***두번째 입력 부분

쿼리B이고 이부분은 DBGrid컴포로 있습니다.

새로운 자료 입력시는 Append를 시켜주고 DBGrid에서 직접 수정및 입력을 합니다..

쿼리B의 설정은 RequestLive는 True, CachedUpdates속성도 True..

*****

위와 같은 상태에서 수정 및 삽입을 한후 저장 버튼을 누르게 되면 아래 코드가 실행되어

실제 데이터베이스에 기록이 되어야 하는데 쿼리A는 실제 데이터베이스에 기록이 되는데

쿼리B는 실제 데이터베이스에 반영이 전혀 되질 않습니다..

다시 말해 둘중에 하나만 실제 데이터베이스에 반영이 된다는 얘기이지요..

두개의 쿼리 컴포를 캐쉬한후 ApplyUpdates메소드로 실제 데이터베이스에 모두 반영이

되도록 할수 있는 방법은 없는지요.. 아래 소스 코드가 있으니 참고 하시고 답변 부탁드립니다.

추가로 수정및 삽입후 쿼리의 Post메소드는 사용하지 않았는데, 혹시 이것때문에 그런지요..

감사합니다..

With 쿼리A do

begin

if Active then

begin

ApplyUpdates;

end;

end;

With 쿼리B do

begin

if Active then

begin

ApplyUpdates;

CommitUpdates;

end;

end;





0  COMMENTS