2013-12-11 5 views
0

MySQL 데이터베이스에 연결하는 작은 응용 프로그램이 있습니다. 매우 간단합니다 - 기본적으로 데이터베이스에는 경고 항목이 있습니다 (경고가 발생하면 새 레코드가이 데이터베이스 테이블에 기록됩니다). 응용 프로그램에는이 테이블에 바인딩 된 Datagridview가있어 모든 경고를 시각적으로 채 웁니다.MySQL 데이터베이스를 모니터링하는 방법

그러나 달성하고자하는 것은 어떻게 든이 MySQL 테이블을 '보면서'새로운 항목이이 테이블 (또는 변경)에 만들어지면 자동으로 datagridview를 채 웁니다. 또한 사용자에게 datagridview가 업데이트되었음을 ​​알릴 수 있기를 원합니다.

MySQL 데이터 테이블로 datagridview를 채웠으나 테이블의 자동 감시자로 설정하는 데 도움이되었습니다. 백그라운드 작업자에게 모든 것을 설정할 수 있지만 데이터가 변경된시기를 찾는 방법을 알지 못합니다.

덕분에

+0

삭제 된 http://stackoverflow.com/q/38779607/1070 452) – Plutonix

답변

0

나는 MySQL의에 익숙하지 해요,하지만 당신은 아마이 작업을 수행하기 위해 데이터베이스를 폴링 할 필요가 끝날 것입니다. 아마도 특정 간격으로 데이터베이스를 검사 할 타이머 기반 코드로 끝날 것입니다.

그러나 각 수표에서 수행되는 작업량을 최소화하기 위해 최선을 다할 수 있습니다. 이를 수행하는 나쁜 방법은 매번 전체 테이블을 검색하고 프로그램에서 전체 검사 및 비교를 실행하는 것입니다.

대신 행을 업데이트하거나 삽입 한시기를 알기 위해 triggers (여기에는 syntax을 생성)을 사용할 수 있습니다. 트리거를 사용하는 방법은 귀하에게 달려 있습니다.

한 가지 대안은 삽입 또는 업데이트가있을 때마다 자동으로 업데이트되는 테이블에 타임 스탬프 열을 갖는 것입니다. 마찬가지로 기본 키와 타임 스탬프 열만있는 별도의 테이블을 가질 수 있습니다 (기본 테이블을 여분의 열로 어지럽히고 싶지 않은 경우).

어느 쪽이든, 마지막으로 체크 한 타임 스탬프를 추적하고 그 시점 이후에 삽입되거나 업데이트 된 모든 것을 찾습니다.

0

아마도 /삭제 행의

  1. UID가 변경 삽입/업데이트의
  2. 유형 변경 .. 두 개의 열이있는 새 테이블에 행을 기록 테이블에 트리거를 삽입, 업데이트를 추가 삭제 그런 다음

이 테이블에 액세스하고 당신에게 알려주는 특별히 행이 삽입, 업데이트, ([VB.Net을 사용하여 MySQL의 테이블에 모니터 새 데이터]

관련 문제