2012-10-21 3 views
-2

Windows 응용 프로그램 양식이 있습니다. 표는 messages이고 사용자가 메시지를 삽입하거나 업데이트 할 때마다 날짜/시간 소인은 UserAction 열에 저장됩니다.SQL Server에서 업데이트 삭제 트리거 삽입

이 열 정보는 검색하여 UI에 링크로 표시해야합니다. 해당 링크를 클릭하면 조치가 취해지고 링크가 읽음으로 표시되어야합니다.

이 작업을 수행하는 데 도움이 될만한 아이디어가 있습니까?

미리 감사드립니다.

답변

0

난 당신이 데이터베이스에서 이벤트를 트리거하고 UI의 세부 사항을 표시 할 수있는 방법 확실하지 오전하지만 난 다음 생각 행할 :

  1. INSERT/DELETEUserAction에 데이터를 삽입 할 수있는 코드를 사용하여 테이블에 트리거 추가 표.
  2. UserAction에서 데이터를 읽고 UI에 표시하는 UI를 작성하십시오.
  3. 특정 간격으로 데이터베이스 UserAction의 데이터를 새로 고치려면 UI을 새로 고침해야 할 수 있습니다.

이렇게하면 UI가 특정 간격으로 변경 UserAction 폴링 상쾌 데이터로 페이지를 새로 고침합니다.

0

모니터 할 수있는 것에 제한이 있지만 Query Notifications을 사용할 수 있습니다.

SQL Server 2005에는 쿼리 결과가 변경 될 때 응용 프로그램이 SQL Server로부터 알림을 요청할 수있는 새로운 기능인 쿼리 알림이 도입되었습니다. 쿼리 알림을 통해 프로그래머는 응용 프로그램이 이전에 검색 한 정보가 변경된 경우에만 데이터베이스를 쿼리하는 응용 프로그램을 디자인 할 수 있습니다.

이 기능은 SqlDependency 클래스를 통해 노출됩니다. 당신은 비고 쿼리 알림 여부를 평가의 일환으로 섹션을 검토해야하는 것은 당신을 위해 : 가진 서버의 상대적으로 적은 수있는 곳

SqlDependency이 ASP.NET 또는 중간 계층 서비스에서 사용할 수 있도록 설계되었다 데이터베이스에 대한 활성 종속성. 수백 또는 수천 개의 클라이언트 컴퓨터가 단일 데이터베이스 서버에 대해 SqlDependency 개체를 설정하는 클라이언트 응용 프로그램에서 사용하도록 설계되지 않았습니다. 당신은 데이터가 변경, SQL Server 온라인 설명서의 알림 주제에 대한 계획에서 쿼리 알림에 대한 효율적인 쿼리 알림 전략 및 대안 계획 섹션 을 검토 할 때 신뢰할 수있는 하위 두 번째 알림을 필요로하는 응용 프로그램을 개발하는 경우.체크 아웃

CREATE TRIGGER dbo.trMessagesUpdateTimeStamp 
ON dbo.Messages 
FOR INSERT, UPDATE, DELETE 
AS 

    UDPATE dbo.Messages 
    SET UserAction = GETDATE() 
    FROM Inserted i 
    WHERE dbo.YourTableHere.ID = i.ID 

포인트 :

0

이 뭔가를 시도 할 수

  • INSERT 경우 쉽게 더 쉽게 UserAction 컬럼에 DEFAULT 제약에 의해 처리 될 수있다 - 그런 식으로 INSERT에 정의 된 기본값 (예 : GETDATE())이 삽입됩니다.

  • 당신은 마지막 문에 의해 수정 된 모든 행을 보유하고있는 Inserted 의사 테이블에 가입 할 수 있어야합니다 (이것은 여러 행이 될 수 있음) Messages 테이블 - 당신이 가지고 여기에 가정 한 Messages에서 기본 키 역할을하는 ID 열의 일부 - 필요에 따라이 옵션을 적용하십시오. 이 이야기의 데이터베이스 부분을 처리

- 당신은 UI에서 수행 할 작업을 귀하의 질문에 상당히 확실하지 않다 ...