使用对内存数据表所做的更改来更新SQL表

时间:2015-04-05 08:41:19

标签: sql sql-server vb.net visual-studio-2013 datatable

我在一个包含5,000多行的SQL数据库(在本地网络上)中有一个表。这些数据被加载到我正在开发的客户端应用程序中的内存数据表中,供最终用户查看,搜索和操作记录。

我的问题是一旦用户完成操作数据,将其写回SQL表的最佳方法是什么?我可以清除SQL表并发送整个内存数据表对于SQL服务器,但是由于记录数量很大,这似乎是一个狡猾而低效的过程。

有没有人想到一个解决方案?例如,以某种方式跟踪用户更改的记录,并仅通过SQL查询更新这些记录?

处理此问题的最佳方法是什么?如果有必要,我很乐意完全重新考虑我的方法。

2 个答案:

答案 0 :(得分:0)

SqlDataAdapter.Update和跟踪更改不会重新发明轮子。 DataRow.RowState - Steve

答案 1 :(得分:0)

配置数据集时,可以定义适合您需要的更新语句。

您正在操作的数据表将跟踪其自己的更改,您可以使用GetChanges方法获取它们。当您调用适配器的Update功能时,您只能发送数据表的更改。

https://msdn.microsoft.com/en-us/library/k2552649%28v=vs.110%29.aspx

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.update%28v=vs.110%29.aspx

相关问题