2012-08-11 20 views
2

我有一個應用程序使用TADODataSetTADOConnection來連接SQL Server數據庫。如何檢測SQ​​L Server數據庫中發生的任何修改?

我想檢測在數據庫中發生的任何修改。

修改=插入,更新,刪除

我想知道哪些TADODataset或表已被修改。

我這樣做是因爲我有一個多用戶應用程序在本地網絡上工作。用戶可以添加,刪除或編輯表格中的記錄,所以我想刷新數據集以顯示新的修改。

另外我想這個建立一個日誌。我不想使用TTime繼續觀看修改。
我不想使用觸發器

我更喜歡TADOConnection的消息。

我正在使用SQL Server 2005和Delphi 2007與ADO組件。

新的修改:我需要它在SQL Server 2000上

問候。

+3

它被稱爲[查詢通知](http://msdn.microsoft.com/en-us/library/ms130764(v = sql.90).aspx),但ADO組件['不支持] (http://stackoverflow.com/a/10653497/960757)它。 – TLama 2012-08-11 09:47:05

+0

如果ADO不支持它,我如何在Delphi中處理這個通知? – user1512094 2012-08-11 09:52:32

+2

它在我已鏈接的帖子中描述;您可以嘗試RRUZ描述的['WMI way'](http://stackoverflow.com/a/7843242/960757),購買商業解決方案或者如果您有時間和經驗,請自行編寫:-) – TLama 2012-08-11 09:59:21

回答

0

也許不是您所期望的答案,但我認爲您應該評估Bold for Delphi。我的僱主Attracs已經成功地在一個大型多用戶應用程序中使用了十多年。 Bold具有許多功能,可以在應用程序增長並且事情變得非常複雜時簡化開發。目前Bold不支持Unicode,因此它只能用於D2007或更早的版本。但我們有計劃在未來解決這個問題。

粗體通過在其他用戶更改數據庫時自動更新gui組件來解決您的問題。

有關Bold的更多信息,請參閱我的博客boldfordelphi

相關問題