C#SqlDataAdapter.Update()

时间:2010-07-12 08:39:42

标签: c# sql sqldataadapter

我对此感到很疯狂。我做了ff:

  1. 创建数据表。
  2. 从SQL db通过SqlDataAdapter填充。
  3. 通过datagridview编辑数据表。
  4. 调用sqldataadapter.update,但更改不会持久保存到数据库。
  5. 在编辑后仔细查看数据表,即使我通过datagridview实际编辑了数据表但行编辑的DataRow在项目数组中有变化,行状态也不会更新。真的很困惑..有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:1)

你需要做几件事来完成这项工作。如果从“数据源”视图中拖动表,最终会在GUI上显示一些不同的内容:

  1. a dataSet
  2. a bindingSource
  3. TableAdapter
  4. tableAdapterManager
  5. a BindingNavigator
  6. 有了这些,您可以查看源代码,了解场景中的内容。你需要EndEdit(正如Baldi之前所说的那样),但你还需要更多:

    private void UpdateGridView()
    {
        // validate that data types corresponds to database table column
        this.Validate();
    
        // ends edit on the graph table
        this.graphBindingSource.EndEdit();
    
        // ends edit on the graph table
        this.intervalBindingSource.EndEdit();
    
        // connect to the database - and exceute changes
        this.tableAdapterManager.UpdateAll(this.diagramDBDataSet);
    }
    

    希望这能让你开始。如果您想了解更多信息,可以使用补充.NET database slide show关注此database tutorial。 祝你好运!

答案 1 :(得分:0)

您使用DataBinding吗?调用EndEdit可能会有所帮助......!