可以使用DataTable来更新数据库吗?

时间:2011-08-22 19:13:58

标签: c# .net ado.net

如果我将DataViewGrid绑定到DataTable,并更改网格中的数据,

  1. 如何通知DataTable这些更改?
  2. DataTable是否会自动更新数据库?
  3. 如果没有,我必须手动完成,如何找出更改内容?
  4. 如果从DataTable或其他内容填充了DataReader,会有所不同吗?
  5. 或“大图”问题:
    我做错了吗? 我有一个包含一个表的数据库,我需要显示该表并允许编辑它。我没有任何花哨的设计师,因为这是一个自定义(不是我)的数据库类型,他们只提供DataProvider(就是它的名称?)类DataReader,{{1} },DataAdapterDataSet等,但没有设计时支持。我也很高兴有机会学习如何在代码中完成所有这些,而不是使用代码生成器,但我感到非常困惑。到现在为止,我总是把我所有的数据需求都拉下来,甚至不知道我是在使用读者还是套装还是其他什么。

    非常感谢。

    BTW,DataTable是否已断开连接,即在内存中?

2 个答案:

答案 0 :(得分:4)

您必须使用DataAdapter并指定Delete,Insert和Update命令。 这是一个不错的解释。

http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/d402f6f4-52c6-48e3-88a6-4d6fbececf8a/

答案 1 :(得分:0)

2 - 没有DataTable断开连接,因此您需要将更改恢复到数据库。

3 - DataTable.GetChanges()