안녕하세요..
이게 가능한건지 좀 알고 싶습니다.
저는 인테베이스를 쓰구요.
2대 이상의 컴퓨터가 서로 연결되어서 사용하고 모두 같은 테이블을 열어 사용하고 있습니다.
근대 한컴퓨터에서 수정이나 삭제 추가가 발생하면 자동으로 다른컴의 디비그리드도 추가 삭제가 되게 하려 합니다.
전 아무리 해도 a컴에 추가 하면 b,c컴에는 recordcount는 바뀌지만 디비그리드에는 추가가 안되더라구요..
Tdatabase를 썼구요. 트랜잭션을 걸어 사용했습니다.
SQLPASSTHRU MODE도 바꿔봤고, database의 transolsolation 도 해 봤습니다..
테이블을 close; open; 이나 refresh 를 하지않는이상은 방법이 없나요?
// 레코드 추가 시
procedure TForm2.Button1Click(Sender: TObject);
begin
database1.StartTransaction;
with TABLE1 do
begin
append;
fieldbyname('gur_name').asstring:=formatdatetime('hh:mm:ss',now);
post;
ApplyUpdates;
// CommitUpdates;
end;
database1.Commit;
end;
> 안녕하세요..
> 이게 가능한건지 좀 알고 싶습니다.
> 저는 인테베이스를 쓰구요.
>
> 2대 이상의 컴퓨터가 서로 연결되어서 사용하고 모두 같은 테이블을 열어 사용하고 있습니다.
> 근대 한컴퓨터에서 수정이나 삭제 추가가 발생하면 자동으로 다른컴의 디비그리드도 추가 삭제가 되게 하려 합니다.
>
> 전 아무리 해도 a컴에 추가 하면 b,c컴에는 recordcount는 바뀌지만 디비그리드에는 추가가 안되더라구요..
>
> Tdatabase를 썼구요. 트랜잭션을 걸어 사용했습니다.
>
> SQLPASSTHRU MODE도 바꿔봤고, database의 transolsolation 도 해 봤습니다..
>
> 테이블을 close; open; 이나 refresh 를 하지않는이상은 방법이 없나요?
>
> // 레코드 추가 시
> procedure TForm2.Button1Click(Sender: TObject);
> begin
> database1.StartTransaction;
> with TABLE1 do
> begin
> append;
> fieldbyname('gur_name').asstring:=formatdatetime('hh:mm:ss',now);
> post;
> ApplyUpdates;
> // CommitUpdates;
> end;
> database1.Commit;
> end;
>
>
>
>
>
>
>
답변이라기보다는 제안입니다.
DataSource 의 OnDataChange 나 OnUpdateDate 류의 이벤트를 사용해서
변경될때마다 리플레쉬 해주면 어떨까요?