2015-01-02 4 views
2

주 시스템에 SQL Server 데이터베이스가 있습니다. 전역 데이터베이스에 액세스하는 100 개 이상의 클라이언트가 있습니다.데이터베이스에서 데이터가 업데이트 될 때마다 클라이언트에 알립니다.

모든 클라이언트가 데이터베이스의 데이터를 업데이트, 삽입 또는 삭제할 때마다 SQL 데이터베이스에서 모든 클라이언트 (100 개 이상)로 이벤트를 발생시켜야합니다.

이 화재 이벤트의 주요 목적은 모든 클라이언트에서 DataGridView을 업데이트하는 데 사용됩니다.

+0

작업을 수행하기 위해 트리거를 사용하십시오. –

+0

트리거를 사용하면 이벤트를 통해 모든 클라이언트 C# 응용 프로그램에 전달됩니까? –

+1

이것은 나에게 상황을 처리하는 잘못된 방법으로 보입니다. datagridviews를 너무 많이 사용하여 업데이트 할 수있는 클라이언트로 끝날 수 있습니다. 프론트 엔드에서 오는 것이 좋을까요? 몇 분마다 데이터를 새로 고침 하시겠습니까? – sr28

답변

3

SqlDependency과 그 뒤의 SQL Server Notification Services에서 제공하는 알림을 사용할 수 있습니다.

MSDN에서이 주제를 읽어 볼 수 있습니다. SqlDependency 및 그 이벤트를 사용하는 방법은 sample입니다.

기본적으로하지 않습니다 무엇 :

  1. 당신은 당신이 알고 싶어 주장, 명령을 실행할 때 해당 쿼리 변경의 결과;
  2. 데이터베이스는 요청을 등록하고 데이터가 변경되는지 확인합니다.
  3. 이렇게하면 클라이언트에 알리고 새 데이터를 가져올 수 있습니다.
+0

downvote에 대한 이유가 무엇입니까? 나는 복수하지 않을 것이다;) –

+0

고맙습니다. 많이 시도해 보겠습니다. –

+0

Windows 양식 응용 프로그램 ... –

관련 문제