|
안녕하세요?
TDBGrid, TDataSource, TQuery를 써서 DB 프로그램을 만들고 있습니다.
제가 궁금한것은
만일 TDBGrid에 10개의 데이터가 있고 레코드 포인터가 3번째 데이터를 가리키고 있을때...
Query->Close();
Quer->Open();
을 하면 무조건 맨 첫번째의 레코드를 가리키게 됩니다. (당연하겠죠?)
그런데 제가 하고 싶은건...
만일 10초마다 리플레쉬 (Close()한후 Open()을 했을때를 말합니다)해야 한다고 할때
사용자가 3번째 레코드를 마우스로 찍은 후 바로 리플레쉬가 되더라도 맨 첫번째 레코드를
가리키지 말고...이미 사용자가 찍어놓은 3번째 레코드에 포인터를 두고 싶습니다.
int aaa = Query->RecNo-1;
Query->Close();
Query->Open();
Query->MoveBy(aaa);
하게 되면 리플레쉬 후에도 3번째 레코드를 가리키게 되긴 하지만...
만일 리플레쉬 된 데이터에 변화가 생긴다면 (이를 테면 첫번째나 두번째 레코드를 다른 사람이 삭제 했다면) 엉뚱한 레코드를 가리키게 되더라구요.
데이터가 변화가 생긴후 리플레쉬 되더라도 사용자가 찍은 레코드를 그대로 가리키고 싶은데 어떻게 하면 좋을까요?????
|