C# SqlDataAdapter.Update()

Posted

技术标签:

【中文标题】C# SqlDataAdapter.Update()【英文标题】: 【发布时间】:2010-07-12 08:39:42 【问题描述】:

我要疯了。我做了ff:

    创建数据表。 通过 SqlDataAdapter 从 SQL 数据库填充它。 通过 datagridview 编辑数据表。 调用 sqldataadapter.update 但更改不会持久化到数据库。

编辑后仔细查看数据表,即使我通过 datagridview 实际编辑了数据表,但已编辑的 DataRow(s) 在项目数组中发生了变化,行状态也没有更新。真的很混乱..有什么想法吗?谢谢。

【问题讨论】:

【参考方案1】:

您需要几件事情来完成这项工作。如果您从 Data Sources 视图中拖动表格,您最终会在 GUI 上看到一些不同的东西:

    一个数据集 绑定源 TableAdapter tableAdapterManager BindingNavigator

有了这些,您可以查看源代码以了解幕后情况。您将需要 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。 祝你好运!

【讨论】:

【参考方案2】:

你使用数据绑定吗?调用 EndEdit 可能会有所帮助...!

【讨论】:

DataBinding 没有帮助。真的很混乱。

以上是关于C# SqlDataAdapter.Update()的主要内容,如果未能解决你的问题,请参考以下文章

SqlDataAdapter.Update(数据表)不工作(不更新数据库)

使用带参数的 SqlDataAdapter.Update()

SqlDataAdapter.update() 不更新数据库

在 SqlDataAdapter.Update() 中获取错误消息

200万条记录的SqlDataAdapter.Update()速度极慢

当 RowState = Modified 时 SQLDataAdapter.Update() 不更新