我有一個Windows應用程序窗體。該表被稱爲messages
,並且無論何時用戶插入更新或刪除消息,日期/時間戳都存儲在列UserAction
中。在SQL Server中插入更新刪除觸發器
應該檢索此列信息並將其作爲鏈接顯示在UI中。點擊該鏈接有一個動作,鏈接應該被視爲已讀。
有人可以幫助我提供一些想法來實現這一行動嗎?
在此先感謝。
我有一個Windows應用程序窗體。該表被稱爲messages
,並且無論何時用戶插入更新或刪除消息,日期/時間戳都存儲在列UserAction
中。在SQL Server中插入更新刪除觸發器
應該檢索此列信息並將其作爲鏈接顯示在UI中。點擊該鏈接有一個動作,鏈接應該被視爲已讀。
有人可以幫助我提供一些想法來實現這一行動嗎?
在此先感謝。
我不知道如何可以觸發來自數據庫的事件,並在UI中顯示的細節,但我認爲以下是可行的:
INSERT/DELETE
觸發你的表的代碼UserAction
插入數據表。UserAction
讀取數據並顯示在UI
中的UI。UI
以按一定的時間間隔刷新數據庫UserAction
中的數據。這樣,您的UI將以特定間隔輪詢UserAction
的任何更改並使用刷新的數據刷新頁面。
您可以使用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
點退房:
的INSERT
情況下,可以很容易地更容易被DEFAULT
約束的UserAction
柱處理 - 這樣,根據INSERT
將定義的默認值(例如GETDATE()
)插入
你需要能夠加入保存由最後一條語句被修改的所有行的Inserted
僞表(這樣就可以多行)與Messages
表 - 我在這裏假設你有某種ID
列作爲Messages
上的主鍵 - 根據需要進行調整。
這個處理故事的數據庫的一部分 - 我不是從你的問題很確定要在UI做什麼...