我正在编写一个需要从数据库视图中不断更新其显示数据的应用程序。目前,它定期轮询整个数据集并重新显示它。我正在改变它以提高效率,并且对人们对如何最有效地做到这一点的意见感兴趣。
该应用程序是一个Windows窗体应用程序,它使用DataGridView来显示数据。数据库服务器是SQL Server 2008。
我一直在阅读有关SQL Server更改跟踪功能的信息,我想知道这是否相关?任何人都可以建议采取任何好的方法吗?我需要它在应用程序中插入,更新和删除行,而不会影响当前所选行或滚动条位置的状态。
谢谢!
答案 0 :(得分:1)
最简单的方法是按时间戳列查询。当您第一次运行应用程序时,它将查询整个数据集并记住最大的时间戳。然后它将使用查询where timestamp > @currentTimestamp
进行轮询并再次记住它。
答案 1 :(得分:0)
如果我正在解决这个问题,我会考虑这样做:
如果需要,我可以更具体,但这是一般方法
SQL Server项目中的触发器信息: http://msdn.microsoft.com/en-us/library/938d9dz2.aspx