我在一个包含5,000多行的SQL数据库(在本地网络上)中有一个表。这些数据被加载到我正在开发的客户端应用程序中的内存数据表中,供最终用户查看,搜索和操作记录。
我的问题是一旦用户完成操作数据,将其写回SQL表的最佳方法是什么?我可以清除SQL表并发送整个内存数据表对于SQL服务器,但是由于记录数量很大,这似乎是一个狡猾而低效的过程。
有没有人想到一个解决方案?例如,以某种方式跟踪用户更改的记录,并仅通过SQL查询更新这些记录?
处理此问题的最佳方法是什么?如果有必要,我很乐意完全重新考虑我的方法。
答案 0 :(得分:0)
SqlDataAdapter.Update和跟踪更改不会重新发明轮子。 DataRow.RowState - Steve
答案 1 :(得分:0)
配置数据集时,可以定义适合您需要的更新语句。
您正在操作的数据表将跟踪其自己的更改,您可以使用GetChanges
方法获取它们。当您调用适配器的Update
功能时,您只能发送数据表的更改。
https://msdn.microsoft.com/en-us/library/k2552649%28v=vs.110%29.aspx